51nod1347 旋轉字串 思維

2021-08-25 22:53:31 字數 713 閱讀 2120

s0...n−10...n−1是乙個長度為n的字串,定義旋轉函式left(s)=s1…n−11…n−1+s00.比如s=」abcd」,left(s)=」bcda」.乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如」abcabc」是對串,」aabbcc」則不是。

現在問題是給定乙個字串,判斷他是否可以由乙個對串旋轉任意次得到。

input

第1行:給出乙個字串(字串非空串,只包含小寫字母,長度不超過1000000)

output

對於每個測試用例,輸出結果佔一行,如果能,輸出yes,否則輸出no。

sample input

aa

ab

sample output

yes

no

這道題挺有意思的,自己多寫幾組資料就會發現,如果當前字串是對串,那麼它怎麼旋轉也依舊是對串,反之亦然,所以只需判斷當前字串是否是對串就行了,果然是被他的外表嚇到了

#includeusing namespace std;

const int maxn = (int)1e6 + 10;

char str[maxn];

int main()

if (flag) printf("yes\n");

else printf("no\n");

} }return 0;

}

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...