.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » operatii

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
operatii


Timp maxim de execuţie / test:
0.6s
Memorie totala disponibilă / stivă:
2MB / 1MB

Fiind date două tablouri bidimensionale A şi B, cu m linii şi n coloane fiecare, definim următoarele operaţii:
1. suma tablourilor A şi B, ca fiind un tablou C cu m linii şi n coloane, în care fiecare element este egal cu suma elementelor de pe aceeşi linie şi coloană din A şi B. În acest caz folosim operatorul +, adică C=A+B.
2. produsul tablourilor A şi B, ca fiind un tablou D cu m linii şi n coloane, in care fiecare element este egal cu produsul elementelor de pe aceeşi linie şi coloană din A şi B. În acest caz folosim operatorul *, adică D=A*B. Dacă A şi B sunt tablouri identice (A şi B au elemente identice pe aceeaşi poziţie), atunci pentru D se mai foloseşte şi notaţia A2 sau B2.
Exemplu:
Pentru m=2, n=3 şi tablourile:



Se obţine



Fiind dat un tablou bidimensional A, cu m linii, n coloane şi componente numere naturale dorim să determinăm un şir de tablouri bidimensionale: B1, B2, ..., Bk cu număr minim de termeni (k minim), cu proprietatea că A=B12+B22+...+Bk2.

Cerinţă

Să se scrie un program care determină tablourile bidimensionale B1, B2, ..., Bk cu proprietatea din enunţ.

Date de intrare

Fişierul de intrare operatii.in conţine pe prima linie numerele naturale m şi n separate prin câte un spaţiu. Pe umătoarele m linii se află elementele tabloului A, câte n numere pe o linie, în cadrul unei linii numerele fiind separate între ele prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire operatii.out conţine pe prima linie un număr natural reprezentând valoarea k, apoi pe următoarele k*m linii elementele celor k tablouri B1, B2, ..., Bk . Fiecare dintre aceste tablouri va fi scris pe câte m linii consecutive, iar pe fiecare dintre aceste linii se vor afla câte n numere separate prin câte un spaţiu.

Restricţii

1 ≤ m, n ≤ 200
• Componentele tabloului A sunt numere naturale ≤ 10000.
• Pot exista mai multe solutii, dar în fişierul de ieşire se va scrie una dintre ele.
• 30% din teste au componentele tabloului A mai mici sau cel mult egale cu 100 şi m,n≤ 100,
• 60% din teste au componentele tabloului A mai mici sau cel mult egale cu 1000.

Exemple

operatii.inoperatii.outExplicaţii
2 3 1 2 4 5 5 9 2 1 1 0 2 2 3 0 1 2 1 1 0


autor: Prof. Doru Popescu Anastasiu
propunător: Prof. Emanuela Cerchez
Liceul de Informatică ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la LOTJ CJ 2009: cerc, k1, multiplu1, smin, turism1, bile5
De acelaşi autor: degrade, hora, noroc, test, tren, grad, palma, cs, h, vagoane, scaune, tir, nrcuv2, piata, vocale, prop, poligon, text2, onu2, creioane, exp, donald, young, albine, turn, linie, tub, suma1, triunghi, cod1, pic, zuzu, pav, prieteni1, banda10, numar2, prime1, ziduri, puncte2, texan, part, ucif, numere7, mare, furnica, pavare, cifre3, domino, exp1, coduri, efort, prodmax, char, dartz, jucarii, cd1, codif, bileprime, echipa, covor, pavari, parcela, grad1, ec, stalpi2, grad2, testament, nrpomi, elicop, triburi1, showroom, cartite
Despre combinatorică: manevre, carti, bonuri, test, cub, nspecial, circuit, numere, cs, pluricex, parent, gray, siruri, anagrame, party, net, scaune, sir, monede, aztec, nrcuv2, perm, race, hanoig, red, grup, hperm, depou, grazing, pm, reteta2, playlist, young, pizza1, albine, caramele, teatru1, tub, robot1, sir23, soldati1, concurs1, comb, expresii, arbnr, cod1, munte, shgraf, desc, lex, munte1, maxperm, role, avere, vizibil, prime1, hexa, patrat, carti2, puncte2, pact, aranjari, numere5, borg, acolor, sg1, perfect, cifru2, bile4, pviz, culmi1, piramida1, trapez, frunze, sir7, logic, coduri, jetoane, kperms, tablite, secvpar, lego, permutari, binperm, multiplu1, fotbal, kbiti, jucarii, bradut, expozitie, parbit, kmax, petrecere, tango, rege, cd1, cifru3, kcons, bubblesort, hawaii, randomizare, kdist, reuniune, echipa, ghinion, cavaleri, camera616, covor, subm, grupuri, pavari, asfalt, adunscad, rotund, sport2, arbore1, lant1, module, nrperm, oneton, nrpomi, cover1, nrpal, probleme, optim, poly, vot1, sudoku1, flori2, xnumere, showroom, cntgcd, subsets, nkd, nrgraf, spion1, puteri, stiva1, permtr, relatii, 2sah, matcnt, magic7, nmult, roua
surse trimise | ajutor