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 |
010001 |
bare.in | bare.out |
9 XX.?X..?X ?X.?X?.?X XX.?X..?? X?.?X..?X XX.?X?.?X |
IMPOSIBIL |
prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil" Iasi
Contact:ema@mail.dntis.ro