hrill @ 2022-12-25 07:21:11
以下是本蒟蒻的错解 但是我发现只需要把第一个while放进第二个while就能AC蒟蒻没想通为什么QAQ
by hrill @ 2022-12-25 07:21:27
https://www.luogu.com.cn/record/97925964
by 心灵震荡 @ 2022-12-25 08:49:24
@hr1002151016 我也想有一台能看到别人评测记录的电脑
by hrill @ 2022-12-25 09:13:44
@busy_programmer ```cpp
using namespace std; string ss; ll n,len; int main() { cin>>ss; cin>>n; len=ss.size(); ll t=len; while(t<n) t*=2; while(n>len) { t/=2; n=n-t-1; if(n==0) n=t; } cout<<ss[n-1]; return 0; }
by hrill @ 2022-12-25 09:14:46
@busy_programmer 对不起QAQ但是我不会粘贴,我以为您能看你看到的,真的不好意思
by hrill @ 2022-12-25 09:18:17
@busy_programmer 请问这样可以吗https://www.luogu.com.cn/paste/uhez8rzy
by 心灵震荡 @ 2022-12-25 11:33:13
别急,我看看
by 心灵震荡 @ 2022-12-25 11:51:25
@hr1002151016
因为每次旋转都是把原字符串的长度乘
下面再看第二个
t/=2;
n=n-t-1;
这个操作其实就是先找到当前字符串的旋转前子串的长度,再找到第一个子串里与位置
例如当前字符串是COWWOC,执行完第一行后的
通过这样不断地操作,就能找到经过无限次翻转的字符串中的第
by hrill @ 2022-12-25 12:45:03
@busy_programmer 好的,谢谢您,我明白了