結果

問題 No.405 ローマ数字の腕時計
ユーザー @abcde
提出日時 2019-02-11 22:35:27
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 4 ms
コード長 816 Byte
コンパイル時間 1,206 ms
使用メモリ 8,916 KB
最終ジャッジ日時 2019-04-11 21:49:32

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_system_test1.txt AC 3 ms
6,872 KB
99_system_test2.txt AC 4 ms
6,872 KB
input01.txt AC 3 ms
6,872 KB
input02.txt AC 2 ms
6,872 KB
input03.txt AC 3 ms
6,872 KB
input04.txt AC 3 ms
6,868 KB
input05.txt AC 4 ms
6,872 KB
input06.txt AC 3 ms
6,872 KB
input07.txt AC 2 ms
6,868 KB
input08.txt AC 3 ms
6,872 KB
input09.txt AC 4 ms
6,868 KB
input10.txt AC 3 ms
6,868 KB
input11.txt AC 3 ms
6,868 KB
input12.txt AC 3 ms
6,872 KB
input13.txt AC 4 ms
6,868 KB
input14.txt AC 2 ms
8,912 KB
input15.txt AC 3 ms
6,872 KB
input16.txt AC 4 ms
6,872 KB
input17.txt AC 3 ms
6,868 KB
input18.txt AC 3 ms
6,872 KB
input19.txt AC 3 ms
6,872 KB
input20.txt AC 2 ms
6,868 KB
input21.txt AC 3 ms
8,916 KB
input22.txt AC 4 ms
6,872 KB
system_test1.txt AC 3 ms
8,916 KB
system_test2.txt AC 4 ms
6,872 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
using namespace std;

int main() {
    
    // 1. 入力情報取得.
    const string clock[12] = {"I","II","III","IIII","V","VI","VII","VIII","IX","X","XI","XII"};
    string S1;
    int T;
    cin >> S1 >> T;
    
    // 2. S1 の index は?
    int indexOfS1 = 0;
    for(int i = 0; i < 12; i++){
        if(clock[i] == S1){
            indexOfS1 = i;
            break;
        }
    }
    
    // 3. T に, 12 * 84 = 1008 を加算して, 正の整数に変換.
    // 長針は, "XII" を指していることに注意.
    // 短針は, 12時間周期で同じ位置に来るので注意.
    T += 1008;
    T %= 12;
    int indexOfS2 = (indexOfS1 + T);
    indexOfS2 %= 12;
    string ans = clock[indexOfS2];
    
    // 4. 後処理.
    cout << ans << endl;
    return 0;
    
}
0