結果
問題 |
No.1455 拡張ROTN
|
ユーザー |
![]() |
提出日時 | 2021-04-01 16:49:28 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,106 bytes |
コンパイル時間 | 835 ms |
コンパイル使用メモリ | 94,700 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-17 20:22:39 |
合計ジャッジ時間 | 1,624 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
/* -*- coding: utf-8 -*- * * 1455.cc: No.1455 拡張ROTN - yukicoder */ #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<string> #include<vector> #include<map> #include<set> #include<stack> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<functional> using namespace std; /* constant */ const int MAX_N = 100; const char w[] = "CpCzNkSuTbEoA"; /* typedef */ typedef long long ll; /* global variables */ char s[MAX_N + 4]; /* subroutines */ char cshift(char c, ll n) { if (c >= 'a' && c <= 'z') return (char)('a' + (c - 'a' + n) % 26); return (char)('A' + (c - 'A' + n) % 26); } /* main */ int main() { ll n; scanf("%s%lld", s, &n); for (int i = 0; s[i]; i++) { if (s[i] >= '0' && s[i] <= '9') { int di = s[i] - '0'; if (di + n < 10) putchar((char)(s[i] + n)); else { for (int j = 0; w[j]; j++) putchar(cshift(w[j], n - (10 - di))); } } else putchar(cshift(s[i], n)); } putchar('\n'); return 0; }