|
|||||||||
|
Zadanie: sko
Skoczki
Alternatywne formaty: PostScript | PDF 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 (a,b) odpowiada możliwości wykonania ruchu z pola o współrzędnych (x,y) na pole (x+a,y+b) lub (x-a,y-b). 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 (0,0) 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 (0,0) (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. ZadanieNapisz program, który:
WejścieW pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita n, liczba par liczb opisujących ruchy danego skoczka, 3 <= n <= 100. W kolejnych n 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 a_i i b_i oddzielone pojedynczym odstępem, -100 <= a_i, b_i <= 100. Zakładamy, że (a_i,b_i) <> (0,0) WyjścieW pierwszym wierszu standardowego wyjścia należy wypisać dwie liczby całkowite a i b oddzielone pojedynczym odstępem, $-10.000 <= a, b <= 10.000. W drugim wierszu należy zapisać dwie liczby całkowite c i d oddzielone pojedynczym odstępem, -10.000 <= c, d <= 10.000. Powinny to być takie liczby całkowite, że skoczek, którego ruchy są opisane parami (a,b) i (c,d) jest równoważny skoczkowi opisanemu w danych wejściowych. PrzykładDla danych wejściowych: 3 24 28 15 50 12 21 prawidłową odpowiedzią jest: 468 1561 2805 9356 lub: 3 0 0 1 Wersja do druku |