Lai paātrinātu pircēju apkalpošanu lielveikalos, katrai precei ir zīme, kas sastāv no vertikālām baltām un melnām svītrām, kuru sauc par preces svītrkodu. Šo kodu var pārvērst par nuļļu un vieninieku virkni, izmantojot optisko svītrkoda nolasītāju. Svītrkoda melnās un baltās svītras var būt tievas vai platas. Baltās un melnās svītras vienmēr ir pamīšus, t.i., divas vienādas krāsas svītras nevar atrasties viena otrai blakus. Tievā svītra vienmēr atbilst nullei, bet platā vieniniekam, neatkarīgi no svītras krāsas. Tādējādi, svītrkods apzīmē bināru ciparu virkni. Katra svītra svītrkodā parādās kā piecu kvadrātu augsta kolonna. Tievās līnijas platums ir viena, bet platās - divas rūtiņas. Piemēram, zimējumā redzamais kods atbilst ciparu virknei 010001.
Diemžēl svītrkoda lasītājs ir bijis nokritis zemē un kopš tā laika tas nespēj korekti atpazīt dažus svītrkoda kvadrātus. Uzrakstiet programmu, kas dotai svītrkoda lasītāja nolasītajai informācijai nosaka kādai ciparu virknei šis kods atbilst (ja to vispār ir iespējams izdarīt).
Teksta faila barcode.in pirmajā rindā dots naturāls skaitlis N(1≤N≤100), kas norāda ieskenētā svītrkoda kopējo platumu. Katrā no nākošajām piecām rindām dots pa N simboliem katrā, kur katrs simbols var būt 'X','.'(punkts) vai '?'(jautājums zīme). 'X' atbilst veiksmīgi atpazītam melnam kvadrātam, '.' atbilst veiksmīgi atpazītam baltam kvadrātam un jautājuma zīme nozīmē, ka lasītājs nav varējis atpazīt šo kvadrātu.
Teksta faila barcode.out vienīgajā rindā jāizvada bināru ciparu virkne, kas atbilst svītrkodam (ja to ir izdevies atpazīt), vai arī vārds 'UNDETERMINABLE' (ja kodu nav izdevies atpazīt).
|
Copyright © 2001 Girts Folkmanis, LIIS |