Polish version    English version  
  OI books


 News
 About Olympic
 History of OI
 OI books
Publications in English
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2003/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
III OI 1995/1996
Where to buy?
Order
PS and PDF files
 National team
 Olympic camps
 Photo gallery
 Links
 SIO
 MAIN
This document is not available in English version.

III Obóz im. A. Kreczmara 2002

Zadanie: lin
Autor: Krzysztof Onak
Linochodziarz

dzień drugi 6 sierpnia 2002
Plik źródłowy: lin.??? (np. pas, c, cpp)
Plik wejściowy: lin.in
Plik wyjściowy: lin.out

Linochodziarz chodzi po osi liczbowej i dysponuje dwoma zestawami kroków - do przodu i do tyłu - które wykonuje na przemian. Przyjmijmy, że mamy dwa niepuste zbiory dodatnich liczb całkowitych A i B. Linochodziarz startuje z punktu 0 i w nieskończonej pętli wykonuje następujące czynności: idzie a (liczba a należy do zbioru A) kroków do przodu (w kierunku plus nieskończoności), zatrzymuje się, cofa się o b (b należy do B) kroków i znów się zatrzymuje. W kolejnych iteracjach pętli mogą występować różne wartości a i b. Interesuje nas odpowiedź na pytanie, czy dla danych zbiorów A i B linochodziarz może zatrzymać się w każdym punkcie całkowitym.

Zadanie

Napisz program, który:

  • wczyta z pliku tekstowego lin.in zestawy danych opisujące różne pary zbiorów A i B,
  • dla każdego zestawu danych rozstrzygnie, czy dana para zbiorów A i B pozwala na to, aby linochodziarz zatrzymał się w każdym punkcie całkowitym,
  • zapisze wynik w pliku tekstowym lin.out.

Wejście

W pierwszym wierszu pliku tekstowego lin.in znajduje się jedna liczba całkowita k określająca liczbę zestawów danych, 1 <= k <= 100. Po niej następuje k zestawów danych. W pierwszym wierszu każdego z nich znajdują się liczby całkowite p i q (1 <= p,q <= 1000) oddzielone pojedynczym odstępem. Są to odpowiednio liczba elementów w zbiorze A i w zbiorze B. Następne p+q wierszy zawiera po jednej dodatniej liczbie całkowitej nie większej niż 109. Pierwsze p z tych liczb jest elementami zbioru A, a następne q należy do B.

Wyjście

Plik tekstowy lin.out powinien zawierać k wierszy. Wiersz i-ty powinien zawierać jedno słowo TAK, jeśli linochodziarz opisany w i-tym zestawie danych może zatrzymać się w każdym punkcie całkowitym, lub słowo NIE w przeciwnym przypadku.

Przykład

Dla pliku wejściowego lin.in:

2
1 1
2
2
2 2
1
2
1
2

poprawną odpowiedzią jest plik wyjściowy lin.out:

NIE
TAK



Print friendly version