|
VII Olimpiada Informatyczna 1999/2000
|
Zadanie: AGE
|
Autor: Tomasz Waleń
|
Agenci
Zawody III stopnia, dzień drugi |
13 kwietnia 2000
|
Plik źródłowy: | AGE.??? (np. pas, c, cpp) |
Plik wykonywalny: | AGE.exe |
Plik wejściowy: | AGE.in |
Plik wyjściowy: | AGE.out |
W związku z ostatnimi wpadkami swoich agentów,
Urząd Ochrony Bajtocji postanowił usprawnić działalność.
Największym dotychczasowym problemem było bezpieczne
urządzanie spotkań agentów.
Twój program ma pomóc w rozwiązaniu tego problemu.
Dla podanego opisu sieci dróg Bajtocji oraz początkowej pozycji dwóch
agentów powinien stwierdzać czy możliwe jest bezpieczne spotkanie
dwóch agentów.
Żeby spotkanie uznać za bezpieczne agenci muszą przestrzegać
następujących reguł:
- agenci poruszają się w dzień, natomiast spotkania odbywają się
wieczorami,
- każdego dnia agent musi zmienić miejsce pobytu,
- agenci mogą poruszać się jedynie po drogach łączących miasta
(niestety dodatkowym utrudnieniem jest fakt, iż w Bajtocji
drogi są jednokierunkowe),
- agent nie może jednak poruszać się zbyt szybko (mogło by to wzbudzać
niepotrzebne zainteresowanie) - jednego dnia nie może przemieścić
się dalej niż do sąsiedniego miasta,
- odległość między dwoma miastami połączonymi drogą jest na tyle
mała, że agent wyruszający z pierwszego miasta zawsze
dotrze do drugiego miasta przed wieczorem,
-
spotkanie uznaje się za odbyte w momencie, gdy dwaj
agenci znajdą się tego samego wieczora w tym samym mieście.
Zadanie
Napisz program, który:
-
wczyta z pliku tekstowego AGE.IN liczbę miast i opis sieci
dróg Bajtocji, oraz pozycje początkowe dwóch agentów,
-
stwierdzi, czy możliwe jest ich bezpieczne spotkanie,
a jeśli tak, to po ilu dniach,
-
zapisze wynik w pliku tekstowym AGE.OUT.
Wejście
W pierwszym wierszu pliku tekstowego AGE.IN znajdują się dwie liczby
całkowite n i m, oddzielone pojedynczym odstępem,
gdzie 1<=n<=250, 0<=m<=n*(n-1).
W drugim wierszu znajdują się dwie liczby całkowite a1 i
a2
oddzielone pojedynczym odstępem,
1<=a1, a2<=n
oraz a1<>a2,
oznaczające odpowiednio początkowe pozycje agentów nr 1 i nr 2.
W m następnych wierszach znajdują się pary liczb naturalnych
a i b
oddzielone pojedynczymi odstępami,
1<=a,b<=n oraz a<>b,
oznaczające istnienie drogi z miasta a do miasta b.
Wyjście
Plik tekstowy AGE.OUT powinien zawierać dokładnie
1 wiersz
zawierający:
- dokładnie jedną dodatnią liczbę całkowitą t,
oznaczającą minimalny
czas (w dniach) potrzebny do zorganizowania bezpiecznego spotkania
dwóch agentów - jeżeli do takiego spotkania można doprowadzić,
- słowo NIE, gdy nie można doprowadzić do bezpiecznego spotkania.
Przykład
Dla pliku wejściowego AGE.IN:
6 7
1 5
1 2
4 5
2 3
3 4
4 1
5 4
5 6
poprawną odpowiedzią jest plik wyjściowy AGE.OUT
3
|