W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem [email protected].
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, zapraszamy na serwery Discord. Są one moderowane przez społeczność, ale członkowie zespołu technicznego też są tam aktywni.
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