Polish version    English version  
  Historia OI -> VII OI 1999/2000 -> Zadania


 Aktualności
 O olimpiadzie
 Komitety
 XVIII OI 2010/2011
 Historia OI
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
Wyniki III etapu
Wyniki II etapu
Wyniki I etapu
Zadania
Regulamin
Zasady organizacji
Wskazówki
Terminarz
Statystyki
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
III OI 1995/1996
II OI 1994/1995
I OI 1993/1994
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
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



Wersja do druku