Rotacje napisów
Treść zadania
Otrzymujesz dwa napisy A i B. Sprawdź, czy B jest rotacją (przesunięciem cyklicznym) napisu A, czyli czy da się go otrzymać, przenosząc pewną liczbę początkowych znaków A (być może zero) na koniec. Na przykład rotacjami napisu abcd są abcd, bcda, cdab i dabc.
Napisy różnej długości nigdy nie są swoimi rotacjami, a każdy napis jest rotacją samego siebie.
Dane wejściowe
- 1. linia: napis
A - 2. linia: napis
B
Dane wyjściowe
Prawda, jeśli B jest rotacją A, w przeciwnym razie Fałsz.
Ograniczenia
1 ≤ |A|, |B| ≤ 1000
Uwagi
- Każda rotacja
Ajest podnapisem napisuA + A. Wystarczy więc porównać długości i sprawdzić, czyBwystępuje wA + A.
Przykład
malpka pkamal
Prawda
pkamal powstaje z malpka przez przeniesienie początkowych mal na koniec.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 25
Trudniejsze zadania na napisach: samodzielna zamiana i usuwanie fragmentów, przedrostki, kodowanie RLE, rotacje, szukanie najdłuższych powtórzeń i wspólnych fragmentów (programowanie dynamiczne) oraz sprawdzanie nawiasów za pomocą stosu. Spróbuj rozwiązywać je własnymi pętlami, bez gotowych metod w rodzaju replace czy startswith — właśnie o to w nich chodzi.
Konwencje wspólne:
- Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
- Program nie wypisuje komunikatów typu „Podaj napis:”. Tekst podany w
input("…")jest ignorowany przez sprawdzarkę. - Każdy napis zajmuje jedną całą linię wejścia, razem ze spacjami — wczytuj go przez
input(), bezstrip()isplit(). - Wielkość liter ma znaczenie (
Aiato różne znaki), a spacja też jest znakiem. - Podnapis to ciągły fragment napisu, np.
kotjest podnapisemkotlet, aket— nie. - Pozycje znaków (indeksy) liczymy od
0, tak jak w Pythonie. - Odpowiedzi logiczne wypisuj jako
PrawdaalboFałsz(o ile zadanie nie mówi inaczej).
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomionoabcd cdab
Prawda
Test 2
Nie uruchomionoabcd acbd
Fałsz
Test 3
Nie uruchomionoabc abcd
Fałsz
Test 4
Nie uruchomionoaaaa aaaa
Prawda
Test 5
Nie uruchomionokot kot
Prawda
Test 6
Nie uruchomionoabab baba
Prawda
Test 7
Nie uruchomionoaab abb
Fałsz
Test 8
Nie uruchomionoKajak kKaja
Prawda
Test 9
Nie uruchomionoKajak kajak
Fałsz
Test 10
Nie uruchomionobaabaabababbbbbaaaabaaababaabaabbaabbbaabbbbabaaaababaabaaaaabbabbaaabbaaaabbbababbabaaabaaaaaaabbaababbbbbbaaaababaababaabaaabaaaabbbaabbbaaaaaabbaabaabaaaaaababaabbaabbbbababbabbababaabbaabbbbbbbaaaaabbabbbbbbabbbaaaababaabababbababaabbaababaababaaabbbbbababaaabbbbbababbabaabbaaaaabbaaababbabbaaaabbaabaabaaabbbbbbaabbaabbbbaaabbabbbbaaabaaaababaaababbbabaabaaabbababbaabaaaabbaaaabaaababaaabbaaabbaaababababbbaaaabbbbaaabaaabbbaabbbaababbbbbabbaabababaababbbababbaaaabababbbbaaaaaabbabbbbaabbabaabaaabababbbabbbababaabaaaababababbbbabababaaabaababbaabaaaaabaababbabbbbbbbabbaabaabbaaaabaabaabababbabbbaabaaabaaabbbaaabbababbaaaabbabbbbabaabaabbabbaababbbbbaaababaabaabaabbbabbbbbbabaabbababbbababbbabbbabaaaabaaabaaabbabaaaaabbbaababbbababbabbbaabbbbabbabaabababbaabababbbaababbbbbbbbaaababbaaaba abaabaaaababababbbbabababaaabaababbaabaaaaabaababbabbbbbbbabbaabaabbaaaabaabaabababbabbbaabaaabaaabbbaaabbababbaaaabbabbbbabaabaabbabbaababbbbbaaababaabaabaabbbabbbbbbabaabbababbbababbbabbbabaaaabaaabaaabbabaaaaabbbaababbbababbabbbaabbbbabbabaabababbaabababbbaababbbbbbbbaaababbaaababaabaabababbbbbaaaabaaababaabaabbaabbbaabbbbabaaaababaabaaaaabbabbaaabbaaaabbbababbabaaabaaaaaaabbaababbbbbbaaaababaababaabaaabaaaabbbaabbbaaaaaabbaabaabaaaaaababaabbaabbbbababbabbababaabbaabbbbbbbaaaaabbabbbbbbabbbaaaababaabababbababaabbaababaababaaabbbbbababaaabbbbbababbabaabbaaaaabbaaababbabbaaaabbaabaabaaabbbbbbaabbaabbbbaaabbabbbbaaabaaaababaaababbbabaabaaabbababbaabaaaabbaaaabaaababaaabbaaabbaaababababbbaaaabbbbaaabaaabbbaabbbaababbbbbabbaabababaababbbababbaaaabababbbbaaaaaabbabbbbaabbabaabaaabababbbabbbab
Prawda
Test 11
Nie uruchomionobaabaabababbbbbaaaabaaababaabaabbaabbbaabbbbabaaaababaabaaaaabbabbaaabbaaaabbbababbabaaabaaaaaaabbaababbbbbbaaaababaababaabaaabaaaabbbaabbbaaaaaabbaabaabaaaaaababaabbaabbbbababbabbababaabbaabbbbbbbaaaaabbabbbbbbabbbaaaababaabababbababaabbaababaababaaabbbbbababaaabbbbbababbabaabbaaaaabbaaababbabbaaaabbaabaabaaabbbbbbaabbaabbbbaaabbabbbbaaabaaaababaaababbbabaabaaabbababbaabaaaabbaaaabaaababaaabbaaabbaaababababbbaaaabbbbaaabaaabbbaabbbaababbbbbabbaabababaababbbababbaaaabababbbbaaaaaabbabbbbaabbabaabaaabababbbabbbababaabaaaababababbbbabababaaabaababbaabaaaaabaababbabbbbbbbabbaabaabbaaaabaabaabababbabbbaabaaabaaabbbaaabbababbaaaabbabbbbabaabaabbabbaababbbbbaaababaabaabaabbbabbbbbbabaabbababbbababbbabbbabaaaabaaabaaabbabaaaaabbbaababbbababbabbbaabbbbabbabaabababbaabababbbaababbbbbbbbaaababbaaaba abaabaaaababababbbbabababaaabaababbaabaaaaabaababbabbbbbbbabbaabaabbaaaabaabaabababbabbbaabaaabaaabbbaaabbababbaaaabbabbbbabaabaabbabbaababbbbbaaababaabaabaabbbabbbbbbabaabbababbbababbbabbbabaaaabaaabaaabbabaaaaabbbaababbbababbabbbaabbbbabbabaabababbaabababbbaababbbbbbbbaaababbaaababaabaabababbbbbaababaaababaabaabbaabbbaabbbbabaaaababaabaaaaabbabbaaabbaaaabbbababbabaaabaaaaaaabbaababbbbbbaaaababaababaabaaabaaaabbbaabbbaaaaaabbaabaabaaaaaababaabbaabbbbababbabbababaabbaabbbbbbbaaaaabbabbbbbbabbbaaaababaabababbababaabbaababaababaaabbbbbababaaabbbbbababbabaabbaaaaabbaaababbabbaaaabbaabaabaaabbbbbbaabbaabbbbaaabbabbbbaaabaaaababaaababbbabaabaaabbababbaabaaaabbaaaabaaababaaabbaaabbaaababababbbaaaabbbbaaabaaabbbaabbbaababbbbbabbaabababaababbbababbaaaabababbbbaaaaaabbabbbbaabbabaabaaabababbbabbbab
Fałsz