VI Olimpiada Informatyczna 1998/99
|
Zadanie: RAK
|
Autor: Wojciech Rytter
|
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ć.
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.
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 ).
4 0 0 1 5 4 2 2 6 1 2 5 4 4 5 3 1poprawną odpowiedzią jest na przykład plik rak.out:
2 1 4 3