## CCC '20 J4 - Cyclic Shifts

View as PDF

Points: 5 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig
##### Canadian Computing Competition: 2020 Stage 1, Junior #4

Thuc likes finding cyclic shifts of strings. A cyclic shift of a string is obtained by moving characters from the beginning of the string to the end of the string. We also consider a string to be a cyclic shift of itself. For example, the cyclic shifts of ABCDE are:

ABCDE, BCDEA, CDEAB, DEABC, and EABCD.

Given some text, , and a string, , determine if contains a cyclic shift of .

#### Input Specification

The input will consist of exactly two lines containing only uppercase letters. The first line will be the text , and the second line will be the string . Each line will contain at most characters.

For of the available marks, will be exactly characters in length.

#### Output Specification

Output yes if the text, , contains a cyclic shift of the string, . Otherwise, output no.

#### Sample Input 1

ABCCDEABAA
ABCDE

#### Output for Sample Input 1

yes

#### Explanation of Output for Sample Input 1

CDEAB is a cyclic shift of ABCDE and is contained in the text ABCCDEABAA.

#### Sample Input 2

ABCDDEBCAB
ABA

#### Output for Sample Input 2

no

#### Explanation of Output for Sample Input 2

The cyclic shifts of ABA are ABA, BAA, and AAB. None of these shifts are contained in the text ABCDDEBCAB.