Polish version    English version  
  O olimpiadzie -> Zadania -> IX OI 2001/2002


 Aktualności
 O olimpiadzie
O olimpiadzie
Zadania
I OI 1993/1994
II OI 1994/1995
III OI 1995/1996
IV OI 1996/1997
V OI 1997/1998
VI OI 1998/1999
VII OI 1999/2000
VIII OI 2000/2001
IX OI 2001/2002
X OI 2002/2003
XI OI 2003/2004
XII OI 2004/2005
XIII OI 2005/2006
XIV OI 2006/2007
XV OI 2007/2008
Archiwum zadań
Ankieta OI
 Komitety
 XVIII OI 2010/2011
 Historia OI
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
IX Olimpiada Informatyczna 2001/2002

Zadanie: kol
Autor: Tomasz Waleń
Koleje

Zawody I stopnia  
Plik źródłowy: kol.??? (np. pas, c, cpp)
Plik wykonywalny: kol.exe
Plik wejściowy: kol.in
Plik wyjściowy: kol.out

Bajtockie Koleje Państwowe postanowiły pójść z duchem czasu i wprowadzić do swojej oferty połączenie InterCity. Ze względu na brak sprawnych lokomotyw, czystych wagonów i prostych torów można było uruchomić tylko jedno takie połączenie. Kolejną przeszkodą okazał się brak informatycznego systemu rezerwacji miejsc. Napisanie głównej części tego systemu jest Twoim zadaniem.

Dla uproszczenia przyjmujemy, że połączenie InterCity przebiega przez n miast ponumerowanych kolejno od 1 do n (miasto na początku trasy ma numer 1, a na końcu n). W pociągu jest m miejsc i między żadnymi dwiema kolejnymi stacjami nie można przewieźć większej liczby pasażerów.

System informatyczny ma przyjmować kolejne zgłoszenia i stwierdzać, czy można je zrealizować. Zgłoszenie jest akceptowane, gdy na danym odcinku trasy w pociągu jest wystarczająca liczba wolnych miejsc, w przeciwnym przypadku zgłoszenie jest odrzucane. Nie jest możliwe częściowe zaakceptowanie zgłoszenia, np. na część trasy, albo dla mniejszej liczby pasażerów. Po zaakceptowaniu zgłoszenia uaktualniany jest stan wolnych miejsc w pociągu. Zgłoszenia przetwarzane są jedno po drugim w kolejności nadchodzenia.

Zadanie

Napisz program, który:

  • wczyta z pliku wejściowego kol.in opis połączenia oraz listę zgłoszonych rezerwacji,
  • obliczy które zgłoszenia zostaną przyjęte, a które odrzucone,
  • zapisze do pliku wyjściowego kol.out odpowiedzi na wszystkie zgłoszenia.

Wejście

W pierwszym wierszu pliku tekstowego kol.in znajdują się trzy liczby całkowite n, m i z (1<=n<=60 000, 1<=m<=60 000, 1<=z<=60 000) pooddzielane pojedynczymi odstępami, oznaczające odpowiednio: liczbę miast na trasie, liczbę miejsc w pociągu i liczbę zgłoszeń. W kolejnych z wierszach opisane są kolejne zgłoszenia. W wierszu o numerze i+1 opisane jest i-te zgłoszenie. Zapisane są w nim trzy liczby całkowite p, k i l (1<=p<k<=n, 1<=l<=m) pooddzielane pojedynczymi odstępami, oznaczające odpowiednio: numer stacji początkowej, numer stacji docelowej i wymaganą liczbę miejsc.

Wyjście

Twój program powinien zapisać w pliku tekstowym kol.out z wierszy. W i-tym wierszu powinien zostać zapisany dokładnie jeden znak:

  • T - jeśli i-te zgłoszenie zostało zaakceptowane,
  • N - w przeciwnym przypadku.

Przykład

Dla pliku wejściowego kol.in:

4 6 4
1 4 2
1 3 2
2 4 3
1 2 3
poprawną odpowiedzią jest plik wyjściowy kol.out :
T
T
N
N



Wersja do druku