yzh091028 @ 2024-07-17 11:42:51
#include<bits/stdc++.h>
using namespace std;
char dd(string s,long long L,long long yq){
if(L>=yq)return s[yq-1];
s+=s[L-1];
for(long long i=0;i<=L-2;i++){
s+=s[i];
}
return dd(s,L*2,yq);
}
int main(){
string s;
long long n;
cin>>s>>n;
cout<<dd(s,s.size(),n);
}
by HIMkythen @ 2024-07-26 14:55:44
这道题N<=1e18,你模拟写法必定会爆string的,要用数学方法去想这种变换后每一位字母的对应关系