题解:P14245 [CCPC 2024 Shandong I] 左移
lyxqqq1
·
·
题解
题目重述
给定长度为 n 的字符串 s ,令 s 的循环同构 a 的 a_1 与 a_n 相等。
注:循环同构是将字符串视为环形结构后,通过旋转或循环移位生成不同位置的子串。
问题分析
思考,每次左移后$s_1$会变成 $s_n$ , $s_2$ 会成为$s_1$ ,所以只需考虑 ($1≤i≤n$) $s_i$ 是否等于 $s_i$ 的下一位即可。
## 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;
}
```
[AC 记录](https://www.luogu.com.cn/record/241284352)