Ciąg słów Fibonacziego
definujemy w następujący sposób:
,
oraz
.
Inaczej mówiąc, słowo Fibonacziego o numerze
powstaje przez połączenie
ze sobą słów o numerach
i
.
Na przykład:
,
,
.
W grę Fibonacziego gra dwóch graczy.
Grają oni na słowie składającym się z liter
i
(słowo to będziemy nazywali planszą).
Gracze wykonują na przemian ruchy polegające na skreślaniu dowolnego słowa Fibonacziego z prawego końca planszy.
Przegrywa ten gracz, który nie może wykonać kolejnego ruchu.
Twoim zadaniem jest stwierdzenie, czy dla danego słowa gracz wykonujący pierwszy ruch zawsze może wygrać.
Napisz program który wczyta liczbę zestawów testowych i dla każdego zestawu:
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba całkowita
(
).
Jest to liczba przypadków testowych, które pojawią sie na standardowym wejściu.
Przypadki testowe opisane są w kolejnych
wierszach, jeden przypadek w jednym wierszu.
Każdy z tych
wierszy zawiera dodatnią liczbę całkowitą
(
), a następnie po spacji ciąg liter
i
długości
, nieoddzielonych spacjami.
Jest to słowo, na którym toczy się gra.
Na standardowe wyjście powinno zostać wypisane
wierszy.
Każdy wiersz powinien zawierać odpowiedź do jednego przypadku testowego,
w takiej samej kolejności w jakiej pojawiły się one na wejściu.
Odpowiedzią powinno być słowo TAK, gdy pierwszy gracz może zawsze
wygrać, lub NIE w przeciwnym wypadku.
Dla danych wejściowych:
2 5 aaaaa 10 abbababbaa
poprawną odpowiedzią jest:
TAK NIE
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.