Nemzetközi Informatikai Diákolimpia 1993

Mendoza, Argentína



2. napi feladat (100 pont)
Megnyerted a kanadai légitársaság versenyét. A díj egy kanadai körutazásra szóló szabadjegy. Az utazás a légitársaság listáján szereplő legnyugatibb  városban kezdődik. Első részében csak nyugat-keleti irányban repülhetsz, és el kell jutnod a légitársaság listáján szereplő legkeletibb városba. Az utazás második részében csak kelet-nyugati irányban repülhetsz, és vissza kell jutnod az indulási helyre. Egyetlen városba sem repülhetsz kétszer, az indulási helyet kivéve, amelyet pontosan kétszer kell felkeresned (az utazás kezdetén, illetve végén). Természetesen nem repülhetsz más légitársaság gépével, és más közlekedési eszközt sem használhatsz.

A következő feladatot kell megoldanod: Adott városok egy listája, továbbá azoknak a várospároknak egy listája, amelyek között közvetlen légijárat van. Meg kell keresni azt az útvonalat, amely a lehető legtöbb várost érinti a fenti feltételek betartásával.

Bemenet:

Az ITIN.DAT ASCII állományban különböző adatsorozatok vannak. Ezeket egy-egy üres sor választja el egymástól (vagyis egy olyan sor, amelyben csak "sor vége" karakter van). Az utolsó adatsorozat után nincs üres sor.

Egy-egy adatsorozat felépítése a következő:

Kimnenet:
Az egyes adatsorozatokra adott megoldásokat az ITIN.SOL ASCII állományba kell írni. Az adatsorozatokat egy-egy üres sor választja el egymástól. Ha egy adatsorozatra van a feltételeket kielégítő megoldás, akkor ki kell írni: Ha egy adatsorozatra nincs a feltételeket kielégítő megoldás, akkor csak két sort kell írni az ITIN.SOL állományba:
Példa:
 
ITIN.DAT ITIN.SOL
8 9
Vancouver
Yellowknife
Edmonton
Calgary
Winnipeg
Toronto
Montreal
Halifax
Vancouver Edmonton
Vancouver Calgary
Calgary Winnipeg
Winnipeg Toronto
Toronto Halifax
Montreal Halifax
Edmonton Montreal
Edmonton Yellowknife
Edmonton Calgary
8
7
Vancouver
Edmonton
Montreal
Halifax
Toronto
Winnipeg
Calgary
Vancouver
5 5
C1
C2
C3
C4
C5
C5 C4
C2 C3
C3 C1
C4 C1
C5 C2
5
NO SOLUTION