結果
問題 | No.1455 拡張ROTN |
ユーザー |
![]() |
提出日時 | 2021-06-01 00:59:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,105 bytes |
コンパイル時間 | 1,620 ms |
コンパイル使用メモリ | 168,668 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-09 00:03:31 |
合計ジャッジ時間 | 2,457 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 2 WA * 20 |
ソースコード
#include <bits/stdc++.h> #define NIL (-1) #define ll long long using namespace std; const int64_t MOD = 1e9 + 7; const int INF = INT_MAX; const double PI = acos(-1.0); string sub(string s, ll co) { string t = s; string ret; for (ll i = 0; i < t.size(); i++) { char c = t[i]; if (c >= 'a' && c <= 'z') { ll n = c - 'a'; ll p = co % 26; ll m = (n + p) % 26; ret += (char)m + 97; } else if (c >= 'A' && c <= 'Z') { ll n = c - 'A'; ll p = co % 26; ll m = (n + p) % 26; ret += (char)m + 65; } } return ret; } int main() { string S; ll N; cin >> S >> N; string T = ""; for (int i = 0; i < S.size(); i++) { char c = S[i]; if (c >= '0' && c <= '9') { int n = c - '0'; (ll)n; n += N; if (n >= 0 && n <= 9) T += n + '0'; else T += sub("CpCzNkSuTbEoA", n - 10LL); } else if (c >= 'a' && c <= 'z') { int n = c - 'a'; int p = N % 26; int m = (n + p) % 26; T += (char)m+97; } else if (c >= 'A' && c <= 'Z') { int n = c - 'A'; int p = N % 26; int m = (n + p) % 26; T += (char)m+65; } } cout << T << endl; return 0; }