Problem A

Trafikplanering

Källkod: trafik.pas, trafik.p eller trafik.c

I en stad som Lund, där praktiskt taget hela centrum består av enkelriktade gator, kan det vara svårt att genomföra nya trafikomläggningar utan att orsaka trafikkaos. Kommunalpolitikern Gun som arbetar med att ta fram nya förslag till trafikomläggningar saknar tyvärr den förmåga till totalöverblick som är nödvändig för arbetet. Hon har därför en tendens att komma med förslag som, om de genomfördes, skulle innebära att det inte alltid skulle vara möjligt att ta sig från en gata till en annan utan att bryta mot trafikreglerna.

Er uppgift blir därför att skriva ett program som hjälper Gun med att kontrollera att det från en given gata är möjligt att på något sätt, antingen direkt eller via någon eller några andra gator, ta sig till alla andra gator i Lund. Namnen på de gator som inte kan nås från den givna gatan skall skrivas ut.

Programmet skall acceptera indata i följande form: Först kommer en beskrivning av det föreslagna vägsystemet. Varje rad representerar en gata. Raderna inleds med ett godtyckligt, men unikt, nummer som identifierar gatan. Därefter följer namnet på gatan inom citationstecken. Sist kommer noll eller flera nummer som identifierar de gator som man kan nå direkt från den aktuella gatan. Fälten separeras med blanktecken. Efter den sista gatan följer en rad som består av ett frågetecken följt av numret för en av gatorna, den s.k. utgångsgatan.

Utdata skall bestå av namnen på de gator som inte kan nås från utgångsgatan. Namnen skall skrivas ut på separata rader i den ordning de förekom i indata. Om alla gator kan nås skall texten ``OK'' skrivas ut.

Programmet skall klara godtyckligt antal gator. Endast datorns minne skall begränsa antalet. Från varje gata skall det vara möjligt att direkt nå ett godtyckligt antal gator. Gatunamn kan vara maximalt 30 tecken långa. Gator identifieras med positiva heltal.

Exempel

Indata:

1 ``Lilla Södergatan'' 5
2 ``Prennegatan''
3 ``Bankgatan'' 4
4 ``Stora Tvärgatan'' 1 2
5 ``Lilla Tvärgatan''
6 ``Tullgatan''
? 4

Utdata:

Bankgatan
Tullgatan


Last Modified: 09:58am MET DST, October 03, 1996