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.
Skoczek porusza się po nieskończonej szachownicy. Każdy z ruchów, jakie może wykonać skoczek, można opisać parą liczb całkowitych - para odpowiada możliwości wykonania ruchu z pola o współrzędnych na pole lub . Dla każdego skoczka określony jest zestaw takich par, opisujących ruchy jakie może wykonywać skoczek. Zakładamy, że wszystkie pola, na które może ruszyć się skoczek z pola nie leżą na jednej prostej.
Powiemy, że dwa skoczki są równoważne, jeżeli dla obu skoczków zbiory pól, do jakich mogą dotrzeć z pola (być może w wielu ruchach) są takie same. (Przy czym równoważne skoczki mogą docierać do tych pół w różnych liczbach kroków). Można pokazać, że dla każdego skoczka istnieje równoważny mu skoczek, którego ruchy są opisane za pomocą tylko dwóch par liczb.
Twoje zadanie polega na napisaniu programu, który:
W pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita , liczba par liczb opisujących ruchy danego skoczka, . W kolejnych wierszach zapisane są pary liczb opisujące ruchy danego skoczka, po jednej w wierszu. W każdym z tych wierszy zapisane są po dwie liczby całkowite i oddzielone pojedynczym odstępem, . Zakładamy, że
W pierwszym wierszu standardowego wyjścia należy wypisać dwie liczby całkowite i oddzielone pojedynczym odstępem, . W drugim wierszu należy zapisać dwie liczby całkowite i oddzielone pojedynczym odstępem, . Powinny to być takie liczby całkowite, że skoczek, którego ruchy są opisane parami i jest równoważny skoczkowi opisanemu w danych wejściowych.
Dla danych wejściowych:
3 24 28 15 50 12 21
poprawne wyjście może mieć np. postać:
468 1561 2805 9356
lub:
3 0 0 1
Autor zadania: Wojciech Guzicki.