Feladat: I/S.18 Korcsoport: - Nehézségi fok: -
Füzet: 2017/május, 295 - 296. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy ország úthálózata N városból és bizonyos városokat összekötő kétirányú utakból áll. Bármely városból bármely másik városba el lehet jutni közvetlenül vagy közvetve. Egy áruházlánc újonnan érkezett az országba, és szeretne pontosan N/2 áruházat építeni úgy, hogy minden városból legfeljebb egy szomszédos városig kelljen utazni, ha náluk szeretnénk bevásárolni. Más szóval, ha egy városban nem épül áruház, akkor legalább egy szomszédos városban kell majd építeni. Írjunk programot, amely megadja, hogy mely városokban legyen áruház.
A standard bemenet első sora a városok N számát és az utak M számát tartalmazza. A következő M sor mindegyike egy-egy út által összekötött két város sorszámát tartalmazza (a városokat 1 és N közötti egész számokkal azonosítjuk).
A standard kimenet első és egyetlen sora pontosan N/2 azonosítószámot tartalmazzon, az építendő áruházak városainak sorszámát. Több megoldás esetén bármelyik megadható.
Korlátok: 2N100000, páros szám; 1M1000000. Időlimit: 1 mp; memórialimit: 256 MB.

 
Minta bemenet (a  \  jelek sortörést jelentenek)Minta kimenet  4 3 \ 1 2 \ 2 3 \ 3 42 3   
 

 

Pontozás és korlátok: a programhoz mellékelt, a helyes megoldás elvét tömören, de érthetően leíró dokumentáció 1 pontot ér. A programra akkor kapható meg a további 9 pont, ha bármilyen hibátlan bemenetet képes megoldani a fenti korlátoknak megfelelően.
Beküldendő egy tömörített is18.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.