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.
W tym zadaniu interesować nas będą dzielniki pewnej liczby naturalnej . Oznaczmy zbiór wszystkich tych dzielników przez . Dane jest wyrażenie, składające się ze stałych ze zbioru , zmiennych mogących przyjmować dowolne wartości ze zbioru oraz dwuargumentowych funkcji obliczających największy wspólny dzielnik oraz najmniejszą wspólną wielokrotność.
Dla podanego wyrażenia należy stwierdzić, czy jego wartość jest stała niezależnie od wartości zmiennych.
W pierwszym wierszu standardowego wejścia znajduje się liczba całkowita () oznaczająca liczbę zestawów danych. W każdym z kolejnych wierszy znajduje się opis jednego zestawu danych. Każdy taki opis rozpoczyna się liczbą całkowitą (). Po niej następuje opis wyrażenia. Wyrażenie jest stałą, zmienną lub funkcją.
Każda liczba w opisie oznacza stałą. Wszystkie liczby są dodatnimi dzielnikami .
Zmienne reprezentowane są przez ciągi co najwyżej 5 małych liter alfabetu angielskiego. Utożsamiamy zmienne reprezentowane przez takie same ciągi liter.
Ciągi znaków NWD i NWW oznaczają odpowiednio funkcje zwracające największy wspólny dzielnik oraz najmniejszą wspólną wielokrotność. Po nazwie funkcji następuje pojedynczy odstęp, a po nim oddzielone odstępem opisy dwóch argumentów, które są wyrażeniami (a zatem opis jest rekurencyjny).
Można założyć, że sumaryczny rozmiar pliku wejściowego nie przekroczy 2 MB.
Na standardowe wyjście należy wypisać wierszy, zawierających odpowiedzi dla kolejnych zestawów danych. Odpowiedzią dla jednego zestawu jest słowo TAK lub NIE, w zależności od tego, czy wyrażenie opisane w zestawie reprezentuje funkcję stałą.
Dla danych wejściowych:
3 24 NWD 3 NWW x 12 15 NWD 15 nwd 10 10
poprawną odpowiedzią jest:
TAK NIE TAK
Autor zadania: Dariusz Leniowski.