CCC-20 (2020) - J4 (Cyclic Shifts)

View as PDF

Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Cyclic Shifts

Στον Thuc αρέσει να βρίσκει κυκλικές μετατοπίσεις συμβολοσειρών. Μια κυκλική μετατόπιση μιας συμβολοσειράς προκύπτει από τη μετακίνηση χαρακτήρων από την αρχή της συμβολοσειράς στο τέλος της. Θεωρούμε επίσης ότι μια συμβολοσειρά είναι μια κυκλική μετατόπιση του εαυτού της. Για παράδειγμα, οι κυκλικές μετατοπίσεις του ABCDE είναι:

ABCDE, BCDEA, CDEAB, DEABC και EABCD.

Δεδομένου κάποιου κειμένου T , και μιας συμβολοσειράς S, προσδιορίστε αν το T περιέχει μια κυκλική μετατόπιση της S.

Είσοδος

Η είσοδος θα αποτελείται από ακριβώς δύο γραμμές που θα περιέχουν μόνο κεφαλαία γράμματα. Η πρώτη γραμμή θα είναι το κείμενο T , και η δεύτερη γραμμή θα είναι η συμβολοσειρά S. Κάθε γραμμή θα περιέχει το πολύ 1000 χαρακτήρες.

Για 6 από τους 15 διαθέσιμους βαθμούς, η S θα έχει μήκος ακριβώς 3 χαρακτήρες.

Έξοδος

Εξάγετε yes εάν το κείμενο T, περιέχει μια κυκλική μετατόπιση της συμβολοσειράς S. Διαφορετικά, εξάγετε no.

Παραδείγματα

input

ABCCDEABAA
ABCDE

output

yes
Επεξήγηση του πρώτου παραδείγματος:

Το CDEAB είναι μια κυκλική μετατόπιση του ABCDE και περιέχεται στο κείμενο ABCCDEABAA.


input

ABCDDEBCAB
ABA

output

no
Επεξήγηση του δεύτερου παραδείγματος

Οι κυκλικές μετατοπίσεις του ΑΒΑ είναι ABA, BAA και AAB. Καμία από αυτές τις μετατοπίσεις δεν περιέχεται στο κείμενο ABCDDEBCAB.


Comments

There are no comments at the moment.