Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2015-04-17 11:07:04.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:verlab.in, verlab.outSursăONIS 2015, Runda 3
AutorVlad ManeaAdăugată devlad.maneaVlad Manea vlad.manea
Timp execuţie pe test0.05 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/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 x 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.inverlab.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?