/* 太郎君は健康のために、毎日、寝た時刻と起きた時刻の記録をとっています。 入力に、寝た時刻と起きた時刻のリストが与えられるので、 睡眠時間の合計を出力してください。 太郎君は、1回につき24時間以上眠り続けることは無いものとします。 太郎君の世界は1日あたり24時間、1時間は60分で表されます。*/ #include 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; }