NOIP學習之字串 134 字串移位包含問題

2021-10-03 20:06:25 字數 903 閱讀 2598

測試鏈結

總時間限制: 1000ms 記憶體限制: 65536kb

描述

對於乙個字串來說,定義一次迴圈移位操作為:將字串的第乙個字元移動到末尾形成新的字串。

給定兩個字串s1和s2,要求判定其中乙個字串是否是另一字串通過若干次迴圈移位後的新字串的子串。例如cdaa是由aabcd兩次移位後產生的新串bcdaa的子串,而abcd與acbd則不能通過多次移位來得到其中乙個字串是新串的子串。

輸入

一行,包含兩個字串,中間由單個空格隔開。字串只包含字母和數字,長度不超過30。

輸出

如果乙個字串是另一字串通過若干次迴圈移位產生的新串的子串,則輸出true,否則輸出false。

樣例輸入

aabcd cdaa

樣例輸出

true

#include

#include

#include

using

namespace std;

char a[

201]

,b[201

],t[

201]

,x[201];

intmain()

strcpy

(x,a);if

(strstr

(strcat

(a,x)

,b)==

null

) cout<<

"false"

;else

cout<<

"true"

;return0;

}

NOIP學習之字串 133 字串判等

測試鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 判斷兩個由大小寫字母和空格組成的字串在忽略大小寫,且忽略空格後是否相等。輸入 兩行,每行包含乙個字串。輸出 若兩個字串相等,輸出yes,否則輸出no。樣例輸入 a a bb bb ccc ccc aa bbbb cccccc 樣例...

NOIP2007 字串展開

字串的展開在初賽普及組的 閱讀程式寫結果 的問題中,我們曾給出乙個字串展開的例子 如果在輸入的字串中,含有類似於 d h 或 4 8 的子串,我們就把它當作一種簡寫,輸出時,用連續遞增的字母或數字串替代其中的減號,即,將上面兩個子串分別輸出為 defgh 和 45678 在本題中,我們通過增加一些引...

NOIP2020 字串匹配

推薦一篇我覺得很好理解的部落格 首先考慮暴力 令 t ab 從小到大列舉 t 的長度,找到最短的 c 1 列舉有多少個 t 的真字首 a 滿足 f a leqslant f c 1 之後令 c 2 abc 再令 c 3 ababc 以此類推 考慮優化。結合上面的暴力分析,容易想到 f c k 的前面...