QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 512 MB Points totaux : 100

#860. Przepraszamy za wszelkie niedogodności

Statistiques

Studiowanie na Uniwersytecie Jagiellońskim w Krakowie ma swoje plusy i minusy. Plusy: Uniwersytet Jagielloński. Minusy: Kraków... A dokładniej, ciągła konieczność radzenia sobie z remontami torowisk tramwajowych.

Początkowo sieć transportu publicznego składa się z pewnej liczby linii tramwajowych. Następnie jedna z nich zostaje zawieszona, potem kolejna, i jeszcze kolejna... Jak zapewne wiesz, nienaruszalną zasadą w Krakowie jest zawsze zawieszenie linii przed wznowieniem działania którejkolwiek z wcześniej zawieszonych. Obecnie nie wszystkie linie zostały (jeszcze) zawieszone, a Ty siedzisz w tramwaju, zirytowany, że Twoje bezpośrednie połączenie z uniwersytetem właśnie zniknęło. Wyglądasz przez okno i zadajesz sobie pytanie: „Czy jestem najbardziej pechowym pasażerem w tym mieście? A może jest gdzieś ktoś, kto musi przesiadać się jeszcze więcej razy, aby dotrzeć tam, gdzie chce?”.

Mówiąc dokładniej, powiemy, że przystanek $B$ jest osiągalny z przystanku $A$ przy $c$ przesiadkach, jeśli istnieją linie $l_0, \dots, l_c$ takie, że $l_0$ obsługuje przystanek $A$, $l_c$ obsługuje przystanek $B$, oraz dla każdego $0 \le i < c$ istnieje przystanek obsługiwany zarówno przez $l_i$, jak i $l_{i+1}$. W każdym momencie chcesz poznać największą wartość $c$, dla której istnieje para przystanków $(A, B)$, gdzie $B$ jest osiągalny z $A$ przy $c$ przesiadkach, a $B$ nie jest osiągalny z $A$ przy $c'$ przesiadkach dla żadnego $c' < c$.

Zauważ, że czasami podróż między parą przystanków może być w ogóle niemożliwa. Zgodnie z powyższą definicją, decydujesz się nie brać takich par pod uwagę w swojej analizie – uznajesz, że jeśli ktoś chce podróżować między takimi przystankami, i tak pojedzie Uberem.

Wejście

Pierwsza linia wejścia zawiera liczbę przypadków testowych $z$ ($1 \le z \le 35$). Następnie następują opisy przypadków testowych.

Pierwsza linia każdego przypadku testowego zawiera liczbę przystanków $n$ oraz liczbę linii tramwajowych $k$ ($2 \le n, k \le 750$). Przystanki są ponumerowane od $1$ do $n$, a linie od $1$ do $k$.

Następnie następuje $k$ linii. $i$-ta z tych linii opisuje trasę linii tramwajowej numer $i$. Każda linia zaczyna się od liczby całkowitej $r_i$ ($2 \le r_i \le n$), po której następuje $r_i$ różnych liczb całkowitych $a_{i,j}$ ($1 \le a_{i,j} \le n$) – identyfikatorów przystanków obsługiwanych przez $i$-tą linię tramwajową. Każda linia tramwajowa kursuje w obu kierunkach.

Kolejna linia zawiera pojedynczą liczbę całkowitą $s$ ($1 \le s \le k - 1$).

Następnie następuje $s$ linii opisujących kolejność zawieszania linii tramwajowych. Każda z tych linii zawiera pojedynczą liczbę całkowitą $s_i$ ($1 \le s_i \le k$) – identyfikator zawieszanej linii tramwajowej. Każda linia może zostać zawieszona co najwyżej raz.

Suma wartości $n$ oraz $k$ we wszystkich przypadkach testowych nie przekracza $1000$ dla każdego z nich.

Wyjście

Dla każdego przypadku testowego wypisz $s + 1$ linii, z których każda zawiera pojedynczą liczbę całkowitą. $(i+1)$-sza linia powinna oznaczać największą liczbę przesiadek koniecznych po $i$-tym zdarzeniu zawieszenia (pierwsza linia oznacza odpowiedź przed jakimikolwiek zawieszeniami).

Przykład

Wejście 1

1
5 4
3 1 3 5
2 1 4
2 2 3
2 2 4
3
1
4
3

Wyjście 1

1
2
0
0

Uwagi

Początkowo wymagana jest jedna przesiadka, aby podróżować, na przykład, z przystanku 4 do przystanku 5 (lub odwrotnie). Taka podróż jest możliwa dzięki skorzystaniu z linii 2, a następnie linii 1. Nie ma par przystanków wymagających 2 lub więcej przesiadek.

Po usunięciu linii 1, wymagane są dwie przesiadki, aby podróżować z przystanku 1 do przystanku 3 (lub odwrotnie).

Kiedy linie 1 i 4 zostaną usunięte, jedynymi parami przystanków, które nadal są osiągalne jeden z drugiego, są (1, 4) oraz (2, 3), i w obu przypadkach nie są wymagane żadne przesiadki, aby podróżować między nimi.

Kiedy linie 1, 4 i 3 zostaną usunięte, jedyną parą przystanków, która nadal jest osiągalna jeden z drugiego, jest (1, 4). Nie są wymagane żadne przesiadki, aby podróżować między tymi przystankami.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.