Polish version    English version  
  O olimpiadzie -> Zadania


 Aktualności
 O olimpiadzie
O olimpiadzie
Zadania
I OI 1993/1994
II OI 1994/1995
III OI 1995/1996
IV OI 1996/1997
V OI 1997/1998
VI OI 1998/1999
VII OI 1999/2000
VIII OI 2000/2001
IX OI 2001/2002
X OI 2002/2003
XI OI 2003/2004
XII OI 2004/2005
XIII OI 2005/2006
XIV OI 2006/2007
XV OI 2007/2008
Archiwum zadań
Ankieta OI
 Komitety
 XVIII OI 2010/2011
 Historia OI
 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: WIR
Autor: Wojciech Rytter
Wirusy

Zawody I stopnia
Plik źródłowy: WIR.??? (np. pas, c, cpp)
Plik wykonywalny: WIR.exe
Plik wejściowy: WIR.in
Plik wyjściowy: WIR.out

Komisja Badania Wirusów Binarnych wykryła, że pewne ciągi zer i jedynek są kodami wirusów. Komisja wyodrębniła zbiór wszystkich kodów wirusów. Ciąg zer i jedynek nazywamy bezpiecznym, gdy żaden jego segment (tj. ciąg kolejnych wyrazów) nie jest kodem wirusa. Komisja dąży do ustalenia, czy istnieje nieskończony, bezpieczny ciąg zer i jedynek.

Przykład

Dla zbioru kodów {011, 11, 00000} nieskończonym, bezpiecznym ciągiem jest 010101... . Dla zbioru kodów {01, 11, 00000} nie istnieje nieskończony, bezpieczny ciąg zer i jedynek.

Zadanie

Napisz program, który:

  • wczyta kody wirusów z pliku tekstowego WIR.IN,
  • stwierdzi, czy istnieje nieskończony, bezpieczny ciąg zer i jedynek,
  • zapisze wynik do pliku tekstowego WIR.OUT.

Wejście

W pierwszym wierszu pliku wejściowego WIR.IN znajduje się jedna liczba całkowita n będąca liczbą wszystkich kodów wirusów. W każdym z kolejnych n wierszy znajduje się jedno niepuste słowo złożone ze znaków 0 i 1 - kod wirusa. Sumaryczna długość wszystkich słów nie przekracza 30000.

Wyjście

W pierwszym i jedynym wierszu pliku wyjściowego WIR.OUT powinno znajdować się słowo:

  • TAK - jeżeli istnieje nieskończony, bezpieczny ciąg zer i jedynek,
  • NIE - w przeciwnym przypadku.

Przykład

Dla pliku wejściowego WIR.IN:

3
01 
11 
00000

poprawną odpowiedzią jest plik wyjściowy WIR.OUT:

NIE



Wersja do druku