Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | verlab.in, verlab.out | Sursă | ONIS 2015, Runda 3 |
Autor | Vlad Manea | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Verlab
In aceasta problema trebuie sa verificam daca un caroiaj este sau nu un labirint. Un labirint este un caroiaj cu o serie de proprietati suplimentare:
- celulele adiacente pe verticala sau orizontala pot avea maxim un perete despartitor, definit in reprezentarea uneia din celule,
- fiecare celula de pe margine are peretii care despart caroiajul de exterior,
- exista exact un traseu format din pasi pe orizontala si / sau verticala intre celule adiacente si nedespartite, intre oricare doua celule din caroiaj.
Fiecare celula este codificata ca un intreg pe 4 biti, unde bitii adevarati reprezinta, in ordine, existenta unui perete pe directiile sus, dreapta, jos, stanga.
Date de intrare
In fisierul de intrare verlab.in sunt date numerele r si c (dimensiunile caroiajului: linii si apoi coloane), urmate de r × c numere intre 0 si 15, reprezentand celulele pe randuri, si apoi pentru un rand fixat, pe coloane, urmate de linia si coloana sursei, urmate de linia si coloana destinatiei. Numerele sunt precedate, separate si urmate de oricate caractere albe.
Date de ieşire
In fisierul de iesire verlab.out se gaseste un singur numar: 1 pentru un caroiaj care este labirint, iar 0 pentru un caroiaj care nu este labirint. Numerele sunt precedate, separate si urmate de oricate caractere albe.
Restricţii
- 1 <= r, c <= 1.000
Exemplu
verlab.in | verlab.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...