1012年ベストランク[シミュレーション]

このよう98,97,97,96と、同じランクの同じ割合について注意1,2,2,4-位にランク

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
#define MAXN 100005 構造体の学生
{ 文字列名。
    int型のC、M、E、RA、RC、RM、再。
    二重の平均; 
} STU [MAXN]。チャー C [] = { ' A '' C '' M '' E ' }。
ブールACMP(生徒A、生徒B)
{ リターン > a.avg b.avg。
} BOOL CCMP(生徒A、生徒B)
{ リターン


    

    

    交流> BC; 
} 
BOOL MCMP(生徒A、生徒B)
{ 
    戻り AM> BM。
} 
BOOL ECMP(生徒A、生徒B)は
、{ 
    戻る AE> です。
} 

マップ < 文字列整数 > VIS、MA、MB。
INTのN、M。
INT メイン()
{ 
    vis.clear()。
    CIN >> N >> M。
    以下のためにint型 i = 0 ; iがn <I ++の
    { 
        CIN >> STU [I] .nameの>> STU [I] .C >> STU [I] .M >>  STUを[I] .E。
        STU [I] .avgを=(ダブル)(この[I] .C +この[I] + H、この[I] .E)/ 3.0 
        来[この[I] .nameの] = 1 
    } 
    ソート(これは、この + N、ACMP)。
    int型のp = 1 ; 
    この[ 0 ] .RA = 1 以下のためにint型 i = 1 ; iがn <Iは、++は
    { 
        場合(この[I] == .avgこの[I- 1 ] .avg)
            この[ザ] .RA = P。
        そうでなければ
        { 
            P = I + 1  ;
            この[ザ] .RA =P; 
        } 
    } 

    ソート(STU、STU + N、CCMP)。
    P = 1 
    STU [ 0 ] .RC = 1 以下のためにint型 i = 1 ; iがn <Iは、++は
    { 
        場合(STU [I] .C == STU [I- 1 ] .C)
            STU [i]は.RC = P。
        
        { 
            pは =私+ 1 ; 
            STU [I] .RC = P。
        } 
    } 

    ソート(STU、STU + N、MCMP)。
    P= 1 ; 
    STU [ 0 ] .rmの= 1 以下のためにint型 i = 1 ; iがn <I ++の
    { 
        場合(STU [I] .M == STU [I- 1 ] .M)
            STU [i]は.rmの = Pと、
        
        { 
            pは =私+ 1 ; 
            STU [i]は.rmの = P。
        } 
    } 

    ソート(STU、STU + N、ECMP)。
    P = 1 
    STU [ 0 ] .RE = 1 以下のためにint型 i = 1 ; iがn <Iは、++は
    { 
        場合(STU [I] .E == STU [I- 1 ] .E)
            STU [I] .RE = P。
        
        { 
            pは =私+ 1 ; 
            STU [I] .RE = P。
        } 
    } 
    int型ミネソタ州、CRS、ANS。
    以下のためにint型 i = 0 ; iがn <; iは++ 
    { 
        ミネソタ州 = N + 1 もし(STU [I] .RA < ミネソタ州)
        {
            ANS =  STU [I] .RA。
            A = STU [I] .RA。
            CRS = 0 ; 
        } 
        オウ(STU [I] .RC < A)
        { 
            ANS = STU [I] .RC。= STU [I] .RC。
            CRS = 1 
        } 
        オウ(STU [i]が.rmの< A)
        { 
            ANS = STU [i]は.rmという。= STU [i]は.rmという。
            CRS = 2 
        } 
        オウ(STU [I] .RE <ミネソタ州) 
        {
            ANS = STU [I] .RE。
            ミネソタ州 = STU [I] .RE。
            CRS = 3 
        } 
        MA [STU [I] .nameの] =のANS。
        MB [STU [I] .nameの] =のCRS。
    } 
    ストリングS。
    一方、(M-- 
    { 
        CIN >> S。
        もし(VIS [S] == 1 
            COUT << MA [S] << "  " << C [MB [S] << ENDL。
        他の
            裁判所未満 << " "N / A<< てendl; 
    } 

}
コードの表示

 

おすすめ

転載: www.cnblogs.com/FTA-Macro/p/11440285.html