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

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


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

Pe perioada vacanţei, Bogdan s-a angajat vânzător la o cofetărie. Aici bomboanele sunt păstrate în n borcane, numerotate de la 1 la n. Din când în când, de plictiseală, Bogdan alege două borcane, ia câte o bomboană din fiecare borcan ales şi apoi pune cele două bomboane într-un al treilea borcan.
În aşteptarea clienţilor, Bogdan studiază următoarea problemă: este posibil ca prin astfel de mutări să adune toate bomboanele într-un singur borcan?

Cerinţă

Dat fiind numărul de borcane şi numărul de bomboane din fiecare borcan, scrieţi un program care să determine o succesiune de mutări de tipul celei descrise în enunţ prin care toate bomboanele să fie adunate într-un singur borcan.

Date de intrare

Fişierul de intrare borcane.in conţine pe prima linie numărul natural n, reprezentând numărul de borcane. Pe cea de a doua linie sunt scrise n numere naturale b1 b2 ... bn, separate prin câte un spaţiu, reprezentând, în ordine, numărul de bomboane din fiecare borcan.

Date de ieşire

Fişierul de ieşire borcane.out va conţine în ordine mutările executate, câte o mutare pe o linie. O mutare este descrisă prin 3 numere naturale separate prin câte un spaţiu a b c cu semnificaţia: ″se ia câte o bomboană din borcanele a şi b şi se plasează cele două bomboane în borcanul c ″.

Restricţii

4 ≤ n ≤ 100
0 ≤ bi ≤ 1000
b1+b2+...+bn ≥ 4

Iniţial există cel puţin două borcane care conţin bomboane.

Exemple

borcane.inborcane.outExplicaţii
4 2 2 2 2 1 2 4 2 3 4 1 3 4 Iniţial, sunt 4 borcane care conţin 8 bomboane. O posibilă soluţie este:
 se ia câte o bomboană din borcanele 1 şi 2 şi se pun în borcanul 4:1 1 2 4
 se ia câte o bomboană din borcanele 2 şi 3 şi se pun în borcanul 4:1 0 1 6
 se ia câte o bomboană din borcanele 1 şi 3 şi se pun în borcanul 4:0 0 0 8
În final toate cele 8 bomboane se vor găsi în borcanul 4.

autor: Prof. Marinel Şerban
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2008: ab2, iepuras, palind, auto, div, teatru, pm, submat, reteta2, rezervatie, creioane, melci, mere2, felinare, joc3, 2numere, fi, tablou, mexc, tcast, dep, dist1, stiva, banda, pavare, poarta, aranjare, bile4, subgeom, albinuta1, curent, pviz, atac2, virus
De acelaşi autor: premii, finala, fractii, trei, manevre, nrcuv, an, vopsea, opmat, tramvai, bipal, kpal, sarpe, replace, factori, barca, perechi, grupe, cod, reactii, factura, decript, trenuri, holo, cifre, firma, tribile, mesaj, tricouri, pajura, monede, programs, fry, repeat, red, pavaj, bacan, nrbinar, invest, cutie2, loc, depou, nr3, zid, felinare, sir3, sqr, carte, labirint, stea, count, evaluare, super, schimb, zaruri, vectori, spirala, desen1, rima, ceas1, romane, sms, bac, excursia, joc7, furnici, munte1, cezar, marcare, excursie1, culmi, sume1, schi, nr4, fractie, cod3, medii, tren3, top, sant1, imagine, ocr, perfect, pluton, reforma, alee, ceas2, paritate, aranjare, comoara1, culmi1, reactivi, submult, sablon1, sir8, sume2, dansatori, smith, tom, matriosca, asociativ, control1, calorii, immortal, concat, mat, cubinvers, mine, divizori, cheie, stelar, joct, minmax, cladire, adunscad, razboi, ore, oras1, sumprod, prisme, operatii1, lgdrum, unupatru, chibrituri, extraprime, prieten, rebus1, grindina, opmult, betisoare, antitero, clase, pagini, ornament, ordine, spioni1
Despre Inducţie matematică: 2sir, h, gray, poligon, patrate1, set, descfib, suma1, mutare, sir1, prieteni1, excursie1, galax, prieteni2, peg, perfect, regine, comoara2, domino, arctir, partitie, acoperire1, xpn
surse trimise | ajutor