結果

問題 No.405 ローマ数字の腕時計
ユーザー monburan_0401monburan_0401
提出日時 2018-09-11 21:54:51
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 947 bytes
コンパイル時間 281 ms
コンパイル使用メモリ 29,696 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-06 19:20:30
合計ジャッジ時間 963 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,812 KB
testcase_01 AC 1 ms
6,944 KB
testcase_02 AC 1 ms
6,940 KB
testcase_03 AC 1 ms
6,944 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 1 ms
6,944 KB
testcase_06 AC 1 ms
6,944 KB
testcase_07 AC 1 ms
6,944 KB
testcase_08 AC 1 ms
6,948 KB
testcase_09 AC 1 ms
6,940 KB
testcase_10 AC 0 ms
6,944 KB
testcase_11 AC 1 ms
6,944 KB
testcase_12 AC 1 ms
6,944 KB
testcase_13 AC 1 ms
6,944 KB
testcase_14 AC 1 ms
6,944 KB
testcase_15 AC 1 ms
6,940 KB
testcase_16 AC 1 ms
6,940 KB
testcase_17 AC 1 ms
6,940 KB
testcase_18 AC 1 ms
6,944 KB
testcase_19 AC 1 ms
6,944 KB
testcase_20 AC 1 ms
6,940 KB
testcase_21 AC 1 ms
6,940 KB
testcase_22 AC 1 ms
6,940 KB
testcase_23 AC 1 ms
6,944 KB
testcase_24 AC 1 ms
6,940 KB
testcase_25 AC 0 ms
6,944 KB
testcase_26 AC 1 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
int main(void){
	char S1[4];
	int s1 = 0;		//	S1を変換したもの
	int T;
	
	scanf("%s",S1);
	scanf("%d",&T);
	
	//	入力されたS1を数字に変換 ??9の場合は特別?
	for(int i = 0; S1[i] != 0; i++){
		if(S1[i] == 'I'){
			if(S1[i+1] == 'X'){
				s1 = -1;
			}else{
				s1 += 1;
			}
		}else if(S1[i] == 'V'){
			s1 += 5;
		}else if(S1[i] == 'X'){
			s1 += 10;
		}
	}
	
		//	check ok
	//printf("%d\n",s1);
	
	//	s1 に T%12 を足し、1〜12におさめる
	s1 += (T % 12);
		//	check ok
	//printf("修正前は%d\n",s1);
	if(s1 > 12){
		s1 -= 12;
	}else if(s1 <= 0){
		s1 += 12;
	}
		//	check ok
	//printf("修正後は%d\n",s1);
	
	//	1から4、5から8、9から12で出力
	if(s1 > 8){
		s1 -= 10;
		//	9の時だけ特別
		if(s1 == -1){
			printf("I");
		}
		printf("X");
	}else if(s1 > 4){
		s1 -= 5;
		printf("V");
	}
	
	for(int j = 0; j < s1; j++){
		printf("I");
	}
	printf("\n");
	
	return 0;
}
0