Fişierul intrare/ieşire:bare.in, bare.outSursăSansa de a deveni campion 2002 grupa mica
AutorEmanuela CerchezAdăugată deIsabela_comanComan Isabela Patricia Isabela_coman
Timp execuţie pe test0.1 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

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.

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 ieşire

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.

Restricţii

  • 1 ≤ N ≤100

Exemplu

bare.inbare.out
8
?.?X?X??
??.X??..
????????
?.???X..
?..X?X??
010001
9
XX.?X..?X
?X.?X?.?X
XX.?X..??
X?.?X..?X
XX.?X?.?X
IMPOSIBIL
Trebuie sa te autentifici pentru a trimite solutii. Click aici