专栏文章
题解:P14245 [CCPC 2024 Shandong I] 左移
P14245题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minksmen
- 此快照首次捕获于
- 2025/12/02 04:02 3 个月前
- 此快照最后确认于
- 2025/12/02 04:02 3 个月前
题目重述
给定长度为 的字符串 ,令 的循环同构 的 与 相等。
注:循环同构是将字符串视为环形结构后,通过旋转或循环移位生成不同位置的子串。
问题分析
最大是五十万,暴力显然不行,我们考虑一种方式:
思考,每次左移后会变成 , 会成为 ,所以只需考虑 () 是否等于 的下一位即可。
AC code
CPP#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int t;
cin>>t;
while(t--)
{
string s;
cin>>s;
if(s[0]==s[s.size()-1])
{
cout<<0<<endl;
continue;
}
int ans=-1;
for(int i=0;i+1<s.size();i++)
{
if(s[i]==s[i+1])
{
ans=i+1;
break;
}
}
cout<<ans<<endl;
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...