結果
問題 |
No.405 ローマ数字の腕時計
|
ユーザー |
![]() |
提出日時 | 2022-08-09 14:56:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 903 bytes |
コンパイル時間 | 973 ms |
コンパイル使用メモリ | 93,584 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-19 20:15:36 |
合計ジャッジ時間 | 1,789 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<map> #define all(x) x.begin(),x.end() #define pb push_back #define ll long long #define P pair<int,int> #define LP pair<ll,ll> using namespace std; int main() { int t,cnt,ans; string s,x; cin >>s>> t; map<string, int> a; map<int,string> b; a["I"] = 1; a["II"] = 2; a["III"] = 3; a["IIII"] =4; a["V"] = 5; a["VI"] = 6; a["VII"] = 7; a["VIII"] =8; a["IX"] = 9; a["X"] = 10; a["XI"] = 11; a["XII"] = 12; b[1]= "I"; b[2]="II"; b[3]="III"; b[4]="IIII"; b[5]= "V"; b[6]= "VI"; b[7]= "VII"; b[8]= "VIII"; b[9]= "IX"; b[10]= "X"; b[11]= "XI"; b[0]= "XII"; cnt = a[s]; if (t >= 0) { ans = (cnt + t % 12) % 12; cout << b[ans] << endl; } else { ans = abs(cnt - abs(t) % 12) % 12; if (cnt - abs(t) % 12 >= 0) cout << b[ans] << endl; else cout << b[12 - ans] << endl; } return 0; }