VI Olimpiada Informatyczna 1998/99

Zadanie: RAK
Autor: Wojciech Rytter
Rakiety

Etap II, dzień próbny 9 lutego 1999
Plik źródłowy: RAK.??? (np. pas, c, cpp)
Plik wykonywalny: RAK.exe
Plik wejściowy: RAK.in
Plik wyjściowy: RAK.out

Na płaskiej mapie wyznaczono dwa rozłączne, n-elementowe zbiory punktów: R i W. Żadne trzy punkty ze zbioru R W nie są współliniowe. W punktach ze zbioru R rozlokowane są rakiety typu ziemia-ziemia, natomiast w punktach ze zbioru W znajdują się obiekty wroga, które trzeba zniszczyć. Rakiety mogą lecieć jedynie w linii prostej, a tory rakiet nie mogą się przecinać. Chcemy dla każdej rakiety wyznaczyć cel, który powinna zniszczyć.

Zadanie

Napisz program, który:

Wejście

W pierwszym wierszu pliku tekstowego rak.in jest zapisana jedna liczba naturalna n, 1<=n<=10000, równa liczności zbiorów R i W.

W każdym z kolejnych 2n wierszy pliku rak.in jest zapisana para liczb całkowitych z przedziału [-10000,10000] oddzielonych pojedynczym odstępem. Są to współrzędne punktu na płaszczyźnie (najpierw współrzędna x, potem współrzędna y). Pierwsze n z tych wierszy zawiera współrzędne punktów ze zbioru R, natomiast ostatnie n wierszy zawiera współrzędne punktów ze zbioru W. W wierszu o numerze i+1 znajdują się współrzędne punktu r i, natomiast w wierszu o numerze i+n+1 znajdują się współrzędne punktu w i, 1 i n.

Wyjście

Plik rak.out powinien składać się z n wierszy. W i-tym wierszu należy zapisać jedną liczbę naturalną k i taką, że odcinek r i w k i należy do wyznaczonego zbioru odcinków (innymi słowy, że rakieta z punktu r i ma zniszczyć obiekt położony w punkcie w k i ).

Przykład

Dla pliku wejściowego rak.in
4
0 0
1 5
4 2
2 6
1 2
5 4
4 5
3 1
poprawną odpowiedzią jest na przykład plik rak.out:
2
1
4
3