結果
問題 |
No.1455 拡張ROTN
|
ユーザー |
![]() |
提出日時 | 2021-03-31 21:08:46 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,104 bytes |
コンパイル時間 | 1,683 ms |
コンパイル使用メモリ | 167,892 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-15 09:27:16 |
合計ジャッジ時間 | 2,480 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 1 |
other | WA * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ string S; cin >> S; long long N; cin >> N; int M = S.size(); string T = "CpCzNkSuTbEoA"; string ans; for (int i = 0; i < M; i++){ if (islower(S[i])){ char c = S[i]; c += N % 26; if (c > 'z'){ c -= 26; } ans += c; } if (isupper(S[i])){ char c = S[i]; c += N % 26; if (c > 'Z'){ c -= 26; } ans += c; } if (isdigit(S[i])){ int d = S[i] - '0'; if (d + N <= 9){ ans += (char) (S[i] + N); } else { long long N2 = N - (10 - d); int cnt = T.size(); for (int j = 0; j < cnt; j++){ if (islower(T[j])){ char c = T[j]; c += N2 % 26; if (c > 'z'){ c -= 26; } ans += c; } if (isupper(T[j])){ char c = T[j]; c += N2 % 26; if (c > 'Z'){ c -= 26; } ans += c; } } } } } cout << ans << endl; }