Feladat: S.32 Korcsoport: - Nehézségi fok: -
Füzet: 2008/január, 38 - 39. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat

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 nemzeti parkban minden nevezetességhez el lehet jutni kerékpáron is. Egy kemény tél után azonban egyes kerékpárutak megrongálódtak. Minden utat felmértek, és meghatározták annak felújítási értékét, vagyis hogy mennyire lenne fontos azt felújítani.
A park vezetősége úgy döntött, hogy még a nyári csúcsszezon előtt a legfontosabb felújításokat el kell végezni, az viszont nem fordulhat elő, hogy a látogatók a felújítások alatt ne tudjanak minden nevezetességhez kerékpárral is eljutni. Egyszerre tetszőlegesen sok útszakasz újítható fel, ugyanakkor minden útszakasz felújítása az egész tavaszi időszakot igénybe veszi.
Írjunk programot, mely meghatározza, hogy a tavasz során legföljebb hány felújítás végezhető el, és ez alapján mennyi a ténylegesen felújított utak felújítási értékei összegének maximuma.
A program az utak leírását fájlból olvassa, az eredményt fájlba írja. A bemeneti, illetve kimeneti fájlok nevei az első, illetve második parancssori argumentum (az alábbi példában s32 be.txt ki.txt).
A bemenet első sorában egy-egy szóközzel elválasztva a nevezetességek N (legföljebb 100) és az őket összekötő kerékpárutak M (legföljebb 500) száma található. A nevezetességeket az 1,2,...,N számokkal azonosítjuk. Az ezt követő M sor mindegyike három pozitív egész számot tartalmaz szóközzel elválasztva ABF alakban: egy-egy kerékpárút által (kétirányúan) összekötött nevezetességek A és B sorszámát, valamint annak F>0 felújítási értékét (1 és 1000 közötti egész), illetve F=0, ha az utat nem kell felújítani.
 
 

A kimenet egyetlen szám: az optimális felújítás esetén felújított utak felújítási értékeinek összege.
Beküldendő a program forráskódja (s32.pas, s32.cpp, ...), valamint a program rövid dokumentációja (s32.txt, s32.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.