Prihlásenie Registrácia  

B - Karanténa

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Úloha

Vzhľadom na čoraz rýchlejšie šírenie nových mutácií koronavírusu, je stále náročnejšie dohľadávanie kontaktov pozitívne testovanej osoby z predchádzajúcich dní.

Po vysokom náraste nových prípadov na univerzite PALMUNI sa rozhodli urobiť okrem testovania aj dotazníkový prieskum na zistenie kontaktov za ostatné 3 dni, aby vedeli určiť koľko zamestnancov a študentov je potrebné umiestniť do karantény. Pomôžte im napísaním programu, ktorý pre zadané kontakty a zoznam pozitívne testovaných osôb, spočíta počet osôb, ktoré majú byť v karanténe. Do karantény sa dajú všetky osoby, ktoré mohli prísť do kontaktu s pozitívne testovanou osobou aj nepriamo (aj cez viacero kontaktov).

Vstup

Prvý riadok vstupu obsahuje tri kladné celé čísla, udávajúce celkový počet osôb 1 ≤ N ≤ 1.000, počet pozitívne testovaných osôb 1 ≤ P ≤ N a počet kontaktov 0 ≤ M ≤ 10.000.
Nasleduje jeden riadok obsahujúci P čísel označujúcich osoby (číslované od jednotky).
V ďalších M riadkoch sú popísané jednotlivé kontakty, vždy dvojica čísel označujúcich dve rôzne osoby, ktoré boli v kontakte.

Výstup

Výstupom je jeden riadok, obsahujúci jedno celé číslo - počet osôb ktoré majú byť umiestnené do karantény.

Príklad

Vstup:

10 2 6
1 2
1 7
4 5
6 7
5 6
7 10
8 9

Výstup:

7
Do karantény budú umiestnené osoby 1, 2, 4, 5, 6, 7, 10.