Prihlásenie Registrácia  

PF - Okruh

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

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

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

V rámci Prírodovedeckých dní (ktoré sa práve konajú na našej Prírodovedeckej fakulte) chce dekan zaviesť novú tradíciu - cyklistický okruh medzi budovami fakulty (tie sú roztrúsené po celých Košiciach). Bohužiaľ, cyklistické chodníky sú v Košiciach len na niektorých miestach. Snahou dekana je vytvoriť okruh tak, aby bolo navštívených čo najviac budov fakulty na tomto okruhu. Samozrejme štart aj cieľ musí byť v budove, kde sídli dekanát fakulty. Z bezpečnostných dôvodov nie je možné navštíviť žiadnu budovu viackrát (aby si nezavadzali pomalší a rýchlejší cyklisti, a ani protiidúci - máloktorá cestička v Košiciach má totiž pruhy pre oba smery...).

Úloha

Daný je zoznam obojsmerných cyklistických chodníkov medzi budovami fakulty. Vytvorte program, ktorý zistí, koľko najviac budov je možné počas výletu v súlade s pravidlami navštíviť. Dekanát nerátajte.

Vstup

Prvý riadok obsahuje trojicu medzerou oddelených čísel N, K a M, kde N (1 ≤ N ≤ 11) je počet budov okrem dekanátu, K (0 ≤ K ≤ N) je počet budov, do ktorých existuje priamy cyklistická chodník z/na dekanát a M je počet obojsmerných cyklistických chodníkov medzi ostatnými budovami (mimo dekanátu). Budovy sú očíslované od 0 po N-1, pričom priame cyklistické chodníky z/na dekanát sú z/do budov označenými číslami od 0 po K-1. Ďalej bude nasledovať M riadkov popisujúcich cyklistické chodníky. Každý riadok obsahuje medzerami oddelené dve čísla reprezentujúce budovy (ich číselné označenia), medzi ktorými existuje priama cyklistický chodník.

Výstup

Vypíšte maximálny počet budov, ktoré je možne navštíviť počas výletu.

Príklad

Vstup:

8 4 8
0 6
1 6
2 7
3 7
4 5
4 6
5 7
6 7

Výstup:

6