問題
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/8/ITP1_8_D (新しいタブで開く)
問題文
文字列 をリング状にして、任意の位置から時計回りに連続した文字を取り出すと、文字列 が得られるかどうかを判定してね。
制約
- 小文字のアルファベットのみ
サンプル
I/O 1
vanceknowledgetoad advance
Yes
I/O 2
vanceknowledgetoad advanced
No
考察
まあ を 2 倍にするのは典型で、あとは find
でいい。
コード
int main() { string s, p; cin >> s >> p; s = s + s; auto itr = s.find(p); if (itr == string::npos) cout << "No" << endl; else cout << "Yes" << endl; }