結果
問題 |
No.405 ローマ数字の腕時計
|
ユーザー |
![]() |
提出日時 | 2018-06-24 11:13:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 736 bytes |
コンパイル時間 | 160 ms |
コンパイル使用メモリ | 23,552 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-06 19:18:10 |
合計ジャッジ時間 | 940 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:8:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | scanf("%s %d", S1, &T); | ~~~~~^~~~~~~~~~~~~~~~~
ソースコード
#include<stdio.h> #include<string.h> int main(void){ int i; int T; char S1[4]; scanf("%s %d", S1, &T); if(strcmp(S1, "IX") == 0) T += 9; else{ for(i = 0; S1[i] != '\0'; i++){ if(S1[i] == 'I') T += 1; else if(S1[i] == 'V') T += 5; else if(S1[i] == 'X') T += 10; } } if(T >= 0) T = T % 12; else T = 12 - (-T % 12); if(T == 0) printf("XII\n"); else if(T == 9) printf("IX\n"); else{ i = 0; while(1){ if(T == 0) break; else if(T >= 10){ S1[i] = 'X'; T = T - 10; i++; } else if(T >= 5){ S1[i] = 'V'; T = T - 5; i++; } else if(T >= 1){ S1[i] = 'I'; T = T - 1; i++; } } S1[i] = '\0'; printf("%s\n", S1); } return 0; }