問題の意味
- 成績評価点平均分/キロの計算(千メートルはどのように多くの分を実行します)
- 入力:
段数N(INT 1 <= N < = 20)、 合計距離d(二重0 <= D < = 200)
:MM:番号なし、1つのレース結果、レース結果2、......(Hをランク付けSS)
- : - : -捨てられた試合が表す
EOF終了 - 出力:
なし(右3を正当化):分:秒(00)分/キロ
の人が一致放棄していない場合は
何を(右は3を正当化): -
思考
Kusi不慣れな様々な入力および出力フォーマット
- 各チームのために:
「 - 」、その結果、出力の残りの部分をスキップ「 - 」読み出し結果の各ステージに対して1つずつ、Hは=もし
そうでなければ累算H、M、S、全ての面で、S / Dの計算/キロ、分/キロに換算
コード
#include<cstdio>
using namespace std;
int main(){
int n, no, m, s;
char h, temp[400];
double d, sum;
scanf("%d%lf", &n, &d);
while(scanf("%d", &no)!=EOF){
sum = 0;
for(int i=0; i<n; i++){
scanf(" %c", &h);
if(h=='-'){
gets(temp);
break;
}
scanf(":%d:%d", &m, &s);
sum += (h-'0')*3600;
sum += m*60;
sum += s;
}
if(h=='-')
printf("%3d: -\n", no);
else{
sum = sum/d;
m = sum/60;
s = (int)(sum - m*60 + 0.5);
if(s==60){
m++;
s = 0;
}
printf("%3d: %d:%02d min/km\n", no, m, s);
}
}
return 0;
}