cartele

Time limit: 0.07s Memory limit: 4MB Input: cartele.in Output: cartele.out

În sediul unei firme se intră doar cu ajutorul cartelelor magnetice. De câte ori se schimbă codurile de acces, cartelele trebuie formatate. Formatarea presupune imprimarea unui model prin magnetizare. Dispozitivul în care se introduc cartelele, numit cititor de cartele, verifică acest model. Toate cartelele au aceleaşi dimensiuni, suprafaţa pătrată şi grosimea neglijabilă. Cele două feţe plane ale unei cartele se împart fiecare în N×NN \times N celule pătrate, identice ca dimensiuni. Prin formatare unele celule, marcate cu negru în exemplu, se magnetizează permiţând radiaţiei infraroşii să treacă dintr-o parte în cealaltă a cartelei. În interiorul cititorului de cartele se iluminează uniform una dintre feţele cartelei. De cealaltă parte fasciculele de lumină care străbat cartela sunt analizate electronic. Pentru a permite accesul în clădire modelul imprimat pe cartelă trebuie să coincidă exact cu modelul şablonului care memorează codul de intrare. Prin fanta dispozitivului nu se pot introduce mai multe cartele deodată. Cartela se poate introduce prin fantă cu oricare dintre muchii spre deschizătura fantei şi cu oricare dintre cele două feţe orientate către şablon. După introducere cartela se dispune în plan paralel cu şablonul, lipit de acesta, astfel încât cele patru colţuri ale cartelei se suprapun exact cu colţurile şablonului. Modelele imprimate pe cele două feţe ale unei cartele sunt identice. Unei celule magnetizate îi corespunde pe faţa opusă tot o celulă magnetizată, iar unei celule nemagnetizate îi corespunde una nemagnetizată. O celulă magnetizată este transparentă pentru radiaţia infraroşie indiferent de faţa care se iluminează.

Un angajat al firmei are mai multe cartele. Pe unele dintre acestea a fost imprimat noul cod de intrare, iar pe altele sunt coduri mai vechi. Pentru a afla care sunt cartelele care-i permit accesul în sediul firmei angajatul este nevoit să le verifice pe toate, introducându-le pe rând, în toate modurile pe care le consideră necesare, în fanta cititorului de cartele.

Cerinţă

Scrieţi un program care determină care dintre cartele permite accesul în sediul firmei.

Date de intrare

Fişierul de intrare cartele.in conţine pe prima linie două numere naturale NN şi CC despărţite printr-un spaţiu. NN este dimensiunea tablourilor care reprezintă modelul şablon şi modelele cartelelelor. CC reprezintă numărul de cartele. Urmează C+1C+1 blocuri de câte NN linii fiecare. Primul bloc de NN linii codifică şablonul. Următoarele CC blocuri de câte NN linii codifică fiecare câte o cartelă. Pe fiecare linie sunt câte NN valori întregi, despărţite printr-un singur spaţiu. Celulelor magnetizate le corespunde valoarea 11, iar celorlalte, valoarea 00.

Date de ieşire

În fişierul de ieşire cartele.out se vor scrie CC linii, câte o valoare pe linie. Pe linia ii se va scrie valoarea 11 dacă cartela ii permite accesul în clădire şi valoarea 00 în caz contrar.

Restricţii şi precizări

  • 1<N,C501 < N, C \leq 50

Exemplu

cartele.in

3 2
0 1 0
0 0 1
1 0 0
1 0 0
0 0 1
0 1 0
0 0 1
0 0 1
0 1 0

cartele.out

1
0

Explicație

Datele de intrare corespund situaţiei din figură. Cartela 11 se potriveşte perfect şablonului, dacă se roteşte în sens trigonometric cu 90°90 \degree.
Cartela 22 nu se potriveşte şablonului, indiferent de modul în care se introduce în fantă.

Log in or sign up to be able to send submissions!