結果

問題 No.405 ローマ数字の腕時計
ユーザー monburan_0401
提出日時 2018-09-11 21:53:06
言語 C
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 946 bytes
コンパイル時間 847 ms
コンパイル使用メモリ 29,312 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-24 00:42:06
合計ジャッジ時間 1,997 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24 WA * 3
権限があれば一括ダウンロードができます

ソースコード

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