bare

Pentru a optimiza achitarea la casa a produselor cumparate de clienti, fiecare produs are inscriptionat un cod de bare. Acest cod este scanat cu un cititor de coduri de bare, care transforma codul intr-o secventa binara.

Codul de bare este constituit dintr-o succesiune de bare verticale albe sau negre, subtiri sau groase. Barele albe alterneaza cu cele negre. Indiferent de culoare, la scanare o bara subtire este transformata in valoarea 0, iar o bara groasa in valoarea 1.
O bara subtire din codul de bare arata ca o coloana formata din 5 patratele, iar o bara groasa ca doua coloane formate din cate 5 patratele (ca in figura de mai jos). De exemplu, secventa binara corespunzatoare codului de bare din figura de mai jos este 010001.

a a a a a a a a
a a a a a a a a
a a a a a a a a
a a a a a a a a
a a a a a a a a

La magazinul din colt, vanzatoarea a scapat pe jos cititorul de coduri de bare si acum nu mai functioneaza corect, adica pentru unele patratele nu mai recunoaste culoarea.

Cerinta

Scrieti un program care pentru un cod de bare citit de cititorul de coduri de bare defect, determina secventa binara corespunzatoare, daca este posibil.

Date de intrare

Fisierul de intrare bare.in contine un numar natural N, reprezentand latimea totala a codului de bare. Fiecare dintre urmatoarele 5 linii contine cate N caractere, care pot fi 'X', '.' (punct) sau '?' (semn de intrebare).

Caracterul 'X' corespunde unui patratel negru, caracterul '.' corespunde unui patratel alb, iar caracterul '?' corespunde unui patratel a carui culoare nu a putut fi determinata de cititorul de coduri de bare defect.

Date de iesire

Fisierul de iesire bare.out contine pe prima linie secventa binara corespunzatoare codului de bare din fisierul de intrare. Daca aceasta secventa nu poate fi determinata, fisierul de iesire va contine mesajul IMPOSIBIL.

Restrictii

Exemple

bare.in

bare.out

8
?.?X?X??
??.X??..
????????
?.???X..
?..X?X??

010001

 

bare.in bare.out
9
XX.?X..?X
?X.?X?.?X
XX.?X..??
X?.?X..?X
XX.?X?.?X

IMPOSIBIL

 

  Timp maxim de executie/test: 0.1 secunde

prof. Emanuela Cerchez

Liceul de Informatica "Grigore Moisil" Iasi

Contact:ema@mail.dntis.ro