Varázslók fesztiválja

Elérkezett az éves  „Varázslók Napja” Ünnepély. A varázslók szervezete ez alkalomból fesztivált szervez. A fesztivál szerte az országban párhuzamosan több helyszínen (városban) zajlik. A fesztivál fő attrakciója egy varázslónak a fellépése, így csak ott lehet fesztivál, ahol egy varázsló megjelenik.  Adott a fesztiválra alkalmas helyszínek listája, és a varázslók, akik hajlandók a fesztiválokon fellépni. Egy helyszínen csak egyetlen varázsló léphet fel, hogy ne legyen probléma. A varázslók nem szeretnek messzire utazni az otthonuktól, így nem mindegyik városban hajlandók fellépni. Tudjuk, hogy melyik varázsló melyik városba hajlandó elmenni. Feladat párosítsuk össze a helyszíneket és varázslókat, hogy a lehető legtöbb helyszínen lehessen fesztivál.

(A feladat a 2004-es BME International 24-hour Programming Contest  programozói verseny D feladatának egyszerűsített változata, honlapcím: http://www.challenge24.org/2009)

Bemenet:

Elsőként megadjuk a varázslók számát (m), majd a városok számát (n). Mind a varázslókat, mind a helyszíneket egy-egy egész számmal azonosítjuk, 0-tól egyesével folyamatosan növekvő azonosítót kapnak.  A következő adat (k) mondja meg, hogy hány adatunk van arról, hogy melyik varázsló, melyik városba hajlandó elmenni, majd számpárok formájában (varázsló, város) a varázslók megkötései, pontosan k darab.

Kimenet:

Mondjuk meg, hogy mi  a maximális száma a megrendezhető fesztiváloknak, és melyik varázsló melyik városba kell menjen.

Példa:

Bemenet:

Kimenet:

4

4

7

0 2

0 3

1 2

2 0

2 1

3 0

3 3

 

4

0 3

1 2

2 1

3 0

Néhány link a magyar módszerhez:

 

http://www.math.u-szeged.hu/~hajnal/courses/grafelmelet/magyar.htm

 

http://turul.banki.hu/wp-content/uploads/2008/11/magyar_modszer.ppt

 

http://www.gdf.hu/html/Magyar_Tudomany_Napja/2008/KS.pdf

 

Tesztfájlok: