結果
| 問題 |
No.1455 拡張ROTN
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-08-03 05:07:25 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 1,222 bytes |
| コンパイル時間 | 3,149 ms |
| コンパイル使用メモリ | 233,312 KB |
| 最終ジャッジ日時 | 2025-01-23 13:51:51 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 22 |
ソースコード
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long ull;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) {
return (ull)rng() % B;
}
int main(){
cin.tie(nullptr);
ios::sync_with_stdio(false);
string s; cin >> s;
ll n; cin >> n;
string t = "CpCzNkSuTbEoA";
auto solve=[&](auto solve,char c,ll n)->void{
if('a'<= c and c<='z'){
n%=26;
for(int i=0;i<n;i++){
if(c=='z')c='a';
else c++;
}
cout << c;
}
else if('A'<= c and c<='Z'){
n%=26;
for(int i=0;i<n;i++){
if(c=='Z')c='A';
else c++;
}
cout << c;
}
else{
if(n==0){
cout << c;
}
else if(c=='9'){
for(char cc:t){
solve(solve,cc,n-1);
}
}
else{
c++;
solve(solve,c,n-1);
}
}
};
for(char c:s){
solve(solve,c,n);
}
cout << endl;
}