結果
問題 |
No.405 ローマ数字の腕時計
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
#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; }