s[0...n-1]是乙個長度為n的字串,定義旋轉函式left(s)=s[1…n-1]+s[0].比如s=」abcd」,left(s)=」bcda」.乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如」abcabc」是對串,」aabbcc」則不是。
現在問題是給定乙個字串,判斷他是否可以由乙個對串旋轉任意次得到。
input
第1行:給出乙個字串(字串非空串,只包含小寫字母,長度不超過1000000)output
對於每個測試用例,輸出結果佔一行,如果能,輸出yes,否則輸出no。input示例
aaoutput示例ab
yes思路:開始沒發現,原來乙個對串不論怎麼旋轉還是對串,乙個不是對串的字串怎麼旋轉都不會變成對串,所以只要看給的字串是不是對串就行了no
#include#includeusing namespace std;
char s[1000000];
int main()
int flag=1;
for(int i=0;i
#include#includeusing namespace std;
char s[1000000];
int main()
}if(flag)
break;
} if(flag)
cout<<"yes"<
51nod 1347 旋轉字串
s 0.n 1 是乙個長度為n的字串,定義旋轉函式left s s 1 n 1 s 0 比如s abcd left s bcda 乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如 abcabc 是對串,aabbcc 則不是。現在問題是給定乙個字串,判斷他是否可以由乙個對串旋轉任意次得到...
51nod 1347 旋轉字串
s 0 n 1 是乙個長度為n的字串,定義旋轉函式left s s 1 n 1 s 0 比如s abcd left s bcda 乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如 abcabc 是對串,aabbcc 則不是。現在問題是給定乙個字串,判斷他是否可以由乙個對串旋轉任意次得到...
51nod 1347 旋轉字串
1347 旋轉字串 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 s 0.n 1 是乙個長度為n的字串,定義旋轉函式left s s 1 n 1 s 0 比如s abcd left s bcda 乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如 ab...