W Bajtocji znajduje się pewna liczba wsi, z których niektóre są połączone dwukierunkowymi drogami. Wiadomo, że każda droga łączy dwie różne wsie, żadne dwie wsie nie są połączone więcej niż jedną drogą i żadne dwie różne drogi nie przecinają się w punktach niebędących wsiami.
Król Bajtocji postanowił, że pewna grupa wsi powinna uzyskać prawa miejskie. Dodatkowo król zapragnął, żeby wszystkie wybrane wsie stanowiły taki zbiór, żeby każda inna wieś leżała na najkrótszej drodze, łączącej pewne dwie wsie wybrane do bycia miastami. Pomóż doradcom króla w identyfikacji, czy zbiory wsi, które król wskaże, spełniają narzucony przez niego warunek.
Napisz program, który:
W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 <= n <= 200), oznaczająca liczbę wsi w Bajtocji. Wsie są ponumerowane liczbami od 1 do n. Wiersz (i+1)-wszy (1 <= i <= n) zawiera opis sąsiadów i-tej wsi - najpierw liczbę tych sąsiadów, a potem oddzielone pojedynczymi odstępami numery sąsiednich wsi (żaden numer nie występuje więcej niż raz).
(n+2)-gi wiersz wejścia zawiera jedną liczbę m (1 <= m <= 10), oznaczającą liczbę propozycji złożonych przez króla. Kolejnych m wierszy zawiera opisy propozycji - na początku liczbę zaproponowanych do zamiany na miasta wsi (co najmniej 2), a potem oddzielone odstępami numery tych wsi. Żadna wieś nie powtórzy się więcej niż raz w ramach tej samej królewskiej propozycji.
W j-tym wierszu wyjścia (1 <= j <= m) powinno znajdować się jedno słowo TAK, jeżeli królewska propozycja spełnia królewski warunek, albo NIE w przeciwnym przypadku.
Dla danych wejściowych:
5 2 2 3 3 1 3 4 3 1 2 5 2 2 5 2 3 4 2 3 1 4 5 3 3 4 5
Poprawnym wynikiem jest:
TAK NIE
[Zgłoś rozwiązanie] [Moje zgłoszenia]