Fișierul intrare/ieșire tablou.in, tablou.out Sursă ONI 2008 clasa a 6-a
Autor Roxana Tîmplaru Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.05 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Tablou (clasa a 6-a)

Se consideră un tablou bidimensional de dimensiuni date m (numărul de linii) și n (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 10. Se identifică cel mai mare număr scris în baza 10 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 p. De pe linia p 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 q. Dacă există o astfel de coloană, atunci se elimină din tablou linia p și coloana q. Prin eliminare, numărul de linii și numărul de coloane ale tabloului scad cu 1, astfel, dacă, de exemplu, s-ar elimina linia 3, atunci linia 4 va deveni linia 3, linia 5 va deveni linia 4, ..., linia m va deveni linia m-1, iar dacă, de exemplu, s-ar elimina coloana 4, atunci coloana 5 va deveni coloana 4, coloana 6 va deveni coloana 5, ..., coloana n va deveni coloana n-1. S-a obținut astfel un nou tablou bidimensional, în care liniile se consideră având indicii 1, 2, ... , ș.a.m.d., iar coloanele indicii 1, 2, ... , ș.a.m.d. Dacă pe linia p 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 10, identificarea liniei p și coloanei q (dacă există) și apoi eliminarea liniei p și coloanei q, dacă este cazul. Procedeul se oprește fie când nu se mai identifică pe linia p 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 1.

Cerință

Dându-se tabloul bidimensional cu m linii și n coloane, se cere:
a) Să se afișeze bazele minime care au fost alese pentru fiecare număr atașat fiecărei linii din tabloul inițial;
b) Să se afișeze cel mai mare număr scris în baza 10 dintre numerele atașate tabloului inițial;
c) 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 m care reprezintă numărul de linii și numărul natural n care reprezintă numărul de coloane din tabloul inițial, numere separate între ele printr-un spațiu
  • pe următoarele m linii câte n 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 m numere separate două câte două printr-un spațiu, reprezentând bazele conform cerinței a);
  • pe a doua linie se află numărul solicitat conform cerinței b);
  • 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 x și y);
  • pe următoarele x linii se află câte y numere separate două câte două printr-un spațiu.

Restricții

  • 2 ≤ m, n ≤ 10.
  • Cel mai mare număr atașat unei linii, număr scris în baza 10 este 2 000 000 000. Cea mai mică bază în care poate fi scris un număr atașat unei linii este baza 2 și cea mai mare este 10.

Exemplu

tablou.in tablou.out Explicații
4 4
1 0 1 1
2 0 1 2
1 3 1 3
3 0 0 0
2 3 4 4
192
2 2
1 1
1 3
Numerele atașate liniilor sunt: 1011 în baza 2, 2012 în baza 3, 1313 în baza 4, 3000 în baza 4.
Valorile acestora în baza 10 sunt: 11, 59, 119, 192. Cel mai mare este 192 și se află pe linia 4.
Primul element par de pe linia 4 este pe coloana a doua. Se vor elimina deci linia 4 și coloana 2.
Tabloul rămas are 3 linii și 3 coloane și are valorile:
1 1 1
2 1 2
1 1 3
și se reia procedeul.
Numerele atașate liniilor noului tablou sunt: 111 în baza 2, 212 în baza 3, 113 în baza 4.
Valorile acestora în baza 10 sunt: 7, 23, 23. Cel mai mare este 23, iar primul egal cu 23 se află
pe linia 2. Primul element par de pe linia 2 este pe prima coloană. Se vor elimina deci linia 2 și
coloana 1. Tabloul rămas are 2 linii și 2 coloane și are valorile:
1 1
1 3
și se reia procedeul.
Numerele atașate liniilor sunt: 11 în baza 2, 13 în baza 4. Valorile acestora în baza 10 sunt: 3, 7.
Cel mai mare este 7 și se află pe linia 2. Pe această linie nu se află niciun element par, deci
procedeul se încheie.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii