In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.
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.
Dany jest zbiór punktów na płaszczyźnie o współrzędnych całkowitych, który będziemy nazywać wzorem, oraz zestaw innych zbiorów punktów na płaszczyźnie (również o współrzędnych całkowitych). Interesuje nas, które z podanych zestawów są podobne do wzoru, tzn. czy można je tak przekształcić za pomocą obrotów, przesunięć, symetrii osiowej i jednokładności, aby były identyczne ze wzorem. Przykładowo: zbiór punktów jest podobny do zbioru , ale nie do zbioru .
W pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita () - liczba punktów tworzących wzór. W kolejnych wierszach zapisane są pary liczb całkowitych pooddzielanych pojedynczymi odstępami. W -ym wierszu są współrzędne -tego punktu należącego do wzoru: i (). Punkty tworzące wzór są (parami) różne.
W kolejnym wierszu zapisana jest liczba zbiorów do zbadania (). Dalej następuje opisów zbiorów punktów. Opis każdego zbioru rozpoczyna się od wiersza zawierającego jedną liczbę całkowitą - liczbę punktów w danym zbiorze (). Punkty te są opisane w kolejnych wierszach, po jednym w wierszu. Opis punktu to dwie liczby całkowite oddzielone pojedynczym odstępem, jego współrzędne i (). Punkty tworzące jeden zbiór są parami różne.
Twój program powinien wypisać na standardowe wyjście wierszy - po jednym dla każdego badanego zbioru punktów. Wiersz nr powinien zawierać słowo TAK, gdy -ty z podanych zbiorów punktów jest podobny do podanego wzoru, lub słowo NIE w przeciwnym przypadku.
Dla danych wejściowych:
3 0 0 2 0 2 1 2 3 4 1 6 5 4 5 3 4 0 6 0 5 -1
poprawną odpowiedzią jest:
TAK NIE
Autor zadania: Piotr Stańczyk.