PAT基本1047プログラミングチーム(20)[ハッシュハッシュ]

タイトル

チームプログラミングのためのルール:各チームは選手で構成される場合は、乾いた、すべてのプレイヤーの注目すぐに⽐単独のゲーム、チームはすべてのプレイヤーと結果のスコア;最も先進的なチームの勝利の結果。これで、すべてのプレイヤー⽐シーズン記録を与え、あなたは勝利チームを見つけるためのプログラムを書いてくださいます。
START入力フォーマット:
入力START⼀最初のフレーム⾏任意の正の整数N(<= 10000)、すなわち、すべてのチームメンバーの総数。「チームID」は、1〜1,000の正の整数である、 - 「数チームの得点チーム数」、「選手ID」は、1から10までの正の整数である:各々が⾏プレーヤーのパフォーマンス⼀ビットフォーマットを与えるN⾏続いて、 「スコア」は、0から100までの整数です。
出力フォーマット:
出力優勝チームの数と総得点別のスペースで、その間、その中に⾏⼀インチ 注:先の時間のタイトル優勝チームが⼀の唯一の保証です。
サンプル入力START:
6
3-10 99
11-5 87
102-1 0
102-3 100
11-9 89
3-2 61で
サンプル出力:
11176

トピック分析

  1. チーム数GN(GN> = 1 && GN <= 1000)、添字番号ASCに対応するチームは、配列を定義、サイズがチームの得点を記録し、1001に設定されています
  2. チームの選手が重畳し、記録されたASCの配列を獲得します
  3. 最大使用添字は最大スコアを記録し、同じ画分は<現在の標準の下で、現在のインデックス= MAX(スコア当量、最小数のチームを取る)、最大表示された場合

同じスコア選手権外観、被験者は、試験結果に対処する方法を通知しませんでした

  • (同じスコアのチャンピオンは、最も小さい番号の印刷チームを取って、すべてのACすることができます)
  • (同じスコアチャンピオンは、)任意の処理なし(のいずれかを取る、すべてのACであることができます)

コード

コード01

#include <iostream>
#include <string>
int main(int argc, char *argv[]) {
    int N,gn,pn,sc;
    scanf("%d",&N);
    int asc[1001]= {0};
    int max=0;
    for(int i=0; i<N; i++) {
        scanf("%d-%d %d",&gn,&pn,&sc);
        asc[gn]+=sc;
        if(asc[max]<asc[gn])max=gn;
        //if(asc[max]==asc[gn]&&max<gn)max=gn;//同等分数冠军,处理和不处理,取任何一个,测试都可以全部AC
    }
    printf("%d %d",max,asc[max]);
}


おすすめ

転載: www.cnblogs.com/houzm/p/12238205.html