Transportul local în oraşul ISANOTOB este rezolvat optim cu ajutorul microbuzelor. Traseele au fost concepute în aşa fel încât două microbuze să nu aibă nicio porţiune comună de drum, în afară de intersecţii. Orice traseu poate fi reprezentat ca un segment sau o linie frântă formată din mai multe segmente perpendiculare. Linia frântă poate fi deschisă sau închisă.
Traseele sunt memorate pe o hartă dreptunghiulară formată din pătrate identice. Aceste pătrate le vom nota cu . Vom atribui hărţii şi un sistem de coordonate cu puncte, cu axele de coordonate Ox orientată spre dreapta, şi axa Oy orientată în jos. La intersecţia axelor se găseşte punctul de coordonate , astfel colţul dreapta-jos al fiecărui pătrat are coordonatele .
Două trasee se pot intersecta, dar nu pot avea niciun segment comun. În figura , pe o hartă de dimensiuni , vedem patru trasee:
- Primul traseu, desenat cu linie dublă, are pornirea din punctul de coordonate , şi sosirea în punctul de coordonate , Adică este un traseu închis (ciclu). La fel de corect ar fi dacă punctul de pornire ar fi punctul şi oprirea , harta nu s-ar schimba.
- Traseul al doilea, desenat cu linie triplă porneşte din punctul de coordonate şi se termină în punctul de coordonate .
- Traseul al treilea, desenat cu linie punctată, are ca puncte de pornire, respectiv de sosire, punctele de coordonate respectiv .
- Traseul al patrulea, desenat cu linie întreruptă, are ca puncte de pornire, respectiv de sosire, punctele de coordonate respectiv .
În continuare ne vor interesa segmentele de pe hartă, fără să ştim cărui traseu îi aparţin. De aceea vom desena toate traseele cu linie îngroşată. Această hartă este memorată ca o matrice de dimensiuni şi o vom numi matricea traseelor, în care fiecare element este egal cu numărul de segmente ce fac parte din vreun traseu, deci valorile posibile pot fi , , , sau . Matricea traseelor din figura corespunde hărţii traseelor din figura .
Matricea-hartă de dimensiuni x este o altă metodă de afişare a hărţii traseelor, în care orice nod de coordonate va fi înlocuit cu o matrice-nod de dimensiuni . Orice element matrice-nod poate avea 16 valori distincte în funcţie de legăturile existente spre Nord, Sud, Est sau Vest:
Cerință
Cunoscând matricea traseelor şi toate punctele de pornire şi de sosire ale traseelor, se cere matricea-hartă corespunzătoare.
Date de intrare
Fişierul de intrare trasee.in
conţine pe prima linie numerele separate prin spaţiu, şi cu semnificaţiile din enunţ, iar , numărul traseelor de pe hartă. Următoarele linii conţin câte numere separate prin spaţiu, reprezentând matricea traseelor. Următoarele linii conţin câte patru numere naturale separate cu câte un spaţiu, reprezentând pe harta traseelor, coordonatele punctelor de pornire şi sosire ale celor trasee, respectiv .
Date de ieșire
Fişierul de ieşire trasee.out
va conţine linii cu câte cifre sau neseparate prin spaţii, reprezentând matricea-hartă corespunzătoare hărţii traseului.
Restricții și precizări
- se acceptă orice soluţie corectă
- fiecare traseu are cel puţin un segment, fiecare segment aparţine unui singur traseu
- pentru din teste
- pentru alte din teste
Exemplu
trasee.in
4 3 4
0 0 1
0 2 4
1 4 3
1 4 2
1 2 1 2
3 3 3 1
2 2 4 1
4 1 2 2
trasee.out
000000000
000011110
000010010
000010010
011111110
010010000
010010000
011111110
010010000
010010000
011110000
000000000
Explicație
, ,
Matricea traseelor de dimensiuni este cea din figura . Avem trasee evidenţiate în figura între punctele de coordonate
şi , şi , şi , respectiv şi .
Matricea-hartă din fişierul de ieşire este cea din figura .