結果
問題 | No.1455 拡張ROTN |
ユーザー | t98slider |
提出日時 | 2022-06-11 23:53:35 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 808 bytes |
コンパイル時間 | 1,634 ms |
コンパイル使用メモリ | 171,508 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-22 10:35:25 |
合計ジャッジ時間 | 2,627 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; int main(){ string s; ll N; cin >> s >> N; auto update = [&](string s, ll d){ string t; for(int i = 0; i < s.size(); i++){ if(s[i] >= 'a' && s[i] <= 'z'){ t += (s[i] - 'a' + d) % 26 + 'a'; } if(s[i] >= 'A' && s[i] <= 'Z'){ t += (s[i] - 'A' + d) % 26 + 'A'; } if(s[i] >= '0' && s[i] <= '8'){ t+= (char)(s[i] + 1); } if(d == 1 && s[i] == '9'){ t += "CpCzNkSuTbEoA"; } } return t; }; int cnt = 10; while(N && cnt){ N--, cnt--; s = update(s, 1); } if(N >= 1)s = update(s, N); cout << s << endl; }