Se consideră un tablou bidimensional de dimensiuni date (numărul de linii) şi (numărul de coloane), ale cărei elemente sunt cifre ale sistemului de numeraţie zecimal. Cu elementele unei linii se construieşte un număr scris în cea mai mică bază posibilă, utilizând toate cifrele de pe linia respectivă, luate de la stânga la dreapta. Se spune că acest număr se ataşează liniei respective. După această regulă se ataşează numere fiecărei linii, numere care se transformă apoi în baza . Se identifică cel mai mare număr scris în baza dintre numerele ataşate fiecărei linii şi linia pe care se află; dacă sunt mai multe linii pe care se află cel mai mare număr, se alege cea cu indicele cel mai mic (cea mai de sus). Să notăm indicele acestei linii cu . De pe linia se identifică, dacă există, coloana cu indicele cel mai mic (cea mai din stânga) pe care se află o cifră pară. Să notăm indicele acestei coloane cu . Dacă există o astfel de coloană, atunci se elimină din tablou linia şi coloana . Prin eliminare, numărul de linii şi numărul de coloane ale tabloului scad cu , astfel, dacă, de exemplu, s-ar elimina linia , atunci linia va deveni linia , linia va deveni linia , , linia va deveni linia , iar dacă, de exemplu, s-ar elimina coloana , atunci coloana va deveni coloana , coloana va deveni coloana , , coloana va deveni coloana . S-a obţinut astfel un nou tablou bidimensional, în care liniile se consideră având indicii , ş.a.m.d., iar coloanele indicii , , , ş.a.m.d. Dacă pe linia nu se poate găsi o cifră pară, tabloul nu se modifică.
Se reia procedeul de mai sus pentru noul tablou, începând cu ataşarea numerelor pentru noile linii, identificarea celui mai mare număr în baza , identificarea liniei şi coloanei (dacă există) şi apoi eliminarea liniei şi coloanei , dacă este cazul. Procedeul se opreşte fie când nu se mai identifică pe linia o cifră pară, fie când cel puţin una dintre dimensiunile tabloului (numărul de linii sau numărul de coloane) a ajuns la valoarea .
Cerinţă
Dându-se tabloul bidimensional cu linii şi coloane, se cere:
- Să se afişeze bazele minime care au fost alese pentru fiecare număr ataşat fiecărei linii din tabloul iniţial
- Să se afişeze cel mai mare număr scris în baza dintre numerele ataşate tabloului iniţial
- Să se afişeze numărul de linii şi numărul de coloane pentru tabloul final, precum şi tabloul final
Date de intrare
Fişierul de intrare tablou.in
va conţine:
- pe prima linie din fişier se află numărul natural care reprezintă numărul de linii şi numărul natural care reprezintă numărul de coloane din tabloul iniţial, numere separate între ele printr-un spaţiu
- pe următoarele linii câte numere separate două câte două printr-un spaţiu
Date de ieşire
Fişierul de ieşire tablou.out
va conţine:
- pe prima linie se vor afişa numere separate două câte două printr-un spaţiu, reprezentând bazele conform cerinţei ;
- pe a doua linie se află numărul solicitat conform cerinţei ;
- pe a treia linie se află numărul de linii şi numărul de coloane pentru tabloul final, numere separate printr-un spaţiu (fie acestea şi );
- pe următoarele linii se află câte numere separate două câte două printr-un spaţiu.
Restricţii şi precizări
- .
- Cel mai mare număr ataşat unei linii, număr scris în baza este . Cea mai mică bază în care poate fi scris un număr ataşat unei linii este baza şi cea mai mare este .
- Se acordă punctaje parţiale: cerinţa , din punctaj, cerinţa , din punctaj, cerinţa , din punctaj.
Exemplu
tablou.in
4 4
1 0 1 1
2 0 1 2
1 3 1 3
3 0 0 0
tablou.out
2 3 4 4
192
2 2
1 1
1 3
Explicaţie
Numerele ataşate liniilor sunt: în baza , în baza , în baza , în baza . Valorile acestora în baza sunt: . Cel mai mare este şi se află pe linia . Primul element par de pe linia este pe coloana a doua. Se vor elimina deci linia şi coloana . Tabloul rămas are linii şi coloane şi are valorile:
şi se reia procedeul.
Numerele ataşate liniilor noului tablou sunt: în baza , în baza , în baza . Valorile acestora în baza sunt: , , . Cel mai mare este , iar primul egal cu se află pe linia . Primul element par de pe linia este pe prima coloană. Se vor elimina deci linia şi coloana . Tabloul rămas are linii şi coloane şi are valorile:
şi se reia procedeul.
Numerele ataşate liniilor sunt: în baza , în baza . Valorile acestora în baza sunt: , . Cel mai mare este şi se află pe linia . Pe această linie nu se află niciun element par, deci procedeul se încheie.