結果
問題 |
No.405 ローマ数字の腕時計
|
ユーザー |
![]() |
提出日時 | 2018-02-27 13:58:38 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 840 bytes |
コンパイル時間 | 779 ms |
コンパイル使用メモリ | 76,284 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-06 19:16:17 |
合計ジャッジ時間 | 1,311 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
// No.405 ローマ数字の腕時計 // https://yukicoder.me/problems/no/405 // #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; string solve(string &S1, int T); int main() { string S1; int T; cin >> S1 >> T; string ans = solve(S1, T); cout << ans << endl; } string solve(string &S1, int T) { vector<string> clock {"I", "II", "III", "IIII", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"}; while (clock[0] != S1) { rotate(clock.begin(), clock.begin()+1, clock.end()); } while (T < 0) // マイナス方向にはrotate()できない T += clock.size(); T %= clock.size(); // 配列のサイズ以上にはrotate()できない rotate(clock.begin(), clock.begin()+T, clock.end()); return clock[0]; }