結果
問題 | No.1455 拡張ROTN |
ユーザー |
|
提出日時 | 2021-03-31 22:15:24 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,028 bytes |
コンパイル時間 | 1,912 ms |
コンパイル使用メモリ | 194,220 KB |
最終ジャッジ日時 | 2025-01-20 03:43:31 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define rep(i, n) for(int i = 0; i < int(n); i++)using ll = long long;using P = pair<int, int>;char rotate(char c, ll n) {n %= 26;char res;if('a' <= c && c <= 'z')res = 'a' + (c - 'a' + n) % 26;else {res = 'A' + (c - 'A' + n) % 26;}return res;}string solve(string s, ll n) {string res = "";rep(i, s.size()) {char before = s[i];if ('0' <= before && before <= '9') {if (n <= ll('9' - before)) {res += before + (int)n;}else {ll remain = n - ll('9' - before) - (ll)1;res += solve("CpCzNkSuTbEoA", remain);}}else {res += rotate(before, n);}}return res;}int main() {cin.tie(0);ios_base::sync_with_stdio(false);string s;cin >> s;ll n;cin >> n;string ans = solve(s, n);cout << ans << endl;return 0;}