In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
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