結果
問題 | No.70 睡眠の重要性! |
ユーザー | monburan_0401 |
提出日時 | 2018-08-31 01:06:16 |
言語 | C (gcc 12.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,103 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 30,208 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 20:37:53 |
合計ジャッジ時間 | 772 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,816 KB |
testcase_01 | AC | 1 ms
6,940 KB |
testcase_02 | AC | 1 ms
6,944 KB |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | AC | 1 ms
6,940 KB |
ソースコード
/* 太郎君は健康のために、毎日、寝た時刻と起きた時刻の記録をとっています。 入力に、寝た時刻と起きた時刻のリストが与えられるので、 睡眠時間の合計を出力してください。 太郎君は、1回につき24時間以上眠り続けることは無いものとします。 太郎君の世界は1日あたり24時間、1時間は60分で表されます。*/ #include <stdio.h> int main(void){ int N; // 入力値。N回記録する char T1[6],T2[6]; // 入力値。T1:就寝時刻、T2:起床時刻 int h1[2],h2[2],m1[2],m2[2]; int k; int j; int H,M,h,m; // T1は H:M、T2はh:m int min = 0; // 求める時間(分) scanf("%d",&N); for(int t = 0; t < N; t++){ for (int i = 0; i < 2; i++){ // 時間、分の初期化。h1[2] = {0}でも良い h1[i] = 0; h2[i] = 0; m1[i] = 0; m2[i] = 0; } scanf("%s%s",T1,T2); // printf("%d\n%s\n%s\n",N,T1,T2); // 入力されたデータの確認用 k = 1; j = 1; for (int i = 4; i >= 0; i--){ // 後ろから調べる。 if (T1[i] == 0){ continue; } // 空だったら飛ばす if (T1[i] != ':' && i > 1){ m1[k] = T1[i] - 48; k -= 1; } else if (T1[i] != ':'){ h1[j] = T1[i] - 48; j -= 1; } } k = 1; j = 1; for (int i = 4; i >= 0; i--){ // 後ろから調べる。 if (T2[i] == 0){ continue; } // 空だったら飛ばす if (T2[i] != ':' && i > 1){ m2[k] = T2[i] - 48; k -= 1; } else if (T2[i] != ':'){ h2[j] = T2[i] - 48; j -= 1; } } // printf("%d%d : %d%d\n",h1[0],h1[1],m1[0],m1[1]); // 入力されたデータの確認用 // printf("%d%d : %d%d\n",h2[0],h2[1],m2[0],m2[1]); // 入力されたデータの確認用 // H時M分に寝た H = h1[0] * 10 + h1[1]; M = m1[0] * 10 + m1[1]; // h時m分に起きた h = h2[0] * 10 + h2[1]; m = m2[0] * 10 + m2[1]; if (M > m){ min += ( (60 - M) + m ); H += 1; } else if(M < m){ min += (m - M); } if (H > h){ min += ( (24 - H) + h) * 60; } else if(H < h) { min += (h - H) * 60; } } printf("%d\n",min); return 0; }