結果

問題 No.70 睡眠の重要性!
ユーザー monburan_0401monburan_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
権限があれば一括ダウンロードができます

ソースコード

diff #

/*	太郎君は健康のために、毎日、寝た時刻と起きた時刻の記録をとっています。
入力に、寝た時刻と起きた時刻のリストが与えられるので、
睡眠時間の合計を出力してください。
太郎君は、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;
}
0