题解:P14245 [CCPC 2024 Shandong I] 左移
Fine_Dust_Z · · 题解
题目大意
给定长度为
循环同构
找
现在问你:若存在
否则输出 -1。
思路
每次左移
code
#include <bits/stdc++.h>
using namespace std;
template<typename T>inline void read(T&x) {
x = 0;
char c;
int sgin = 1;
do {
c = getchar();
if (c == '-')sgin = -1;
} while (!isdigit(c));
do {
x = x * 10 + c - '0';
c = getchar();
} while (isdigit(c));
x *= sgin;
}
void solve(){
string s;
cin>>s;
if(s[0]==s[s.size()-1]){// 开始合法
puts("0");
return ;
}
for(int i=0;i<s.size()-1;i++){// 枚举所有 i
if(s[i]==s[i+1]){
cout<<i+1<<endl;// 输出并结束
return ;
}
}
puts("-1");//没有一个循环同构合法
return ;
}
int main() {
int t;
read(t);
while(t--)solve();
return 0;
}