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

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


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

Costel este pasionat de arta orientală a confecţionării obiectelor de hârtie, origami, dar este abia la început şi trebuie să se familiarizeze cu operaţiile de îndoire corectă a hârtiei. El are la dispoziţie o foaie de hârtie pătrată, ruptă dintr-un caiet de matematică, având dimensiunea de exact N x N pătrăţele. Îndoiturile trebuie realizate exact pe o linie orizontală sau verticală.
Sunt permise două tipuri de îndoituri:
- îndoitura de tipul 1, îndoitură verticală executată la X pătrăţele faţă de marginea stângă a foii: partea din stânga a foii se pliază către dreapta, de-a lungul liniei verticale aflate la distanţa de X pătrăţele faţă de marginea stângă;
- îndoitura de tipul 2, îndoitură orizontală executată la X pătrăţele faţă de marginea superioară a foii: partea de sus a foii se pliază în jos, de-a lungul liniei aflate la distanţa de X pătrăţele faţă de marginea de sus a hârtiei.
În urma realizării unei succesiuni de îndoituri, din foaia iniţială de hârtie se va obţine un obiect, care va avea o formă dreptunghiulară, cu înălţimea H, lăţimea M şi având grosimea egală cu numărul maxim de foi care se suprapun în cadrul obiectului obţinut.

Cerinţă

Dată fiind o succesiune de îndoituri aplicată unei foi de dimensiune N x N, scrieţi un program care să determine înălţimea, lăţimea şi grosimea obiectului obţinut.

Date de intrare

Fişierul de intrare origami.in are următoarea structură :
- prima linie a fişierului conţine un număr natural N, reprezentând dimensiunea iniţială a hârtiei;
- a doua linie conţine un număr natural K, reprezentând numărul îndoiturilor;
- pe următoarele K linii se găsesc perechi de numere naturale nenule A B, separate printr-un spaţiu, reprezentând tipul îndoiturii (A este 1 dacă se realizează o îndoitură verticală sau A este 2 dacă se realizează o îndoitură orizontală), respectiv la ce distanţă se realizează îndoitura.

Date de ieşire

Fişierul de ieşire origami.out va conţine, pe o singură linie, trei numere naturale nenule H L G, separate prin câte un spaţiu, reprezentând înălţimea, lăţimea şi respectiv grosimea obiectului obţinut.

Restricţii

2 <= N <= 170
1 <= K <= 2N-2
A = 1 sau A = 2
1 <= B <
înălţimea sau lăţimea hârtiei la momentul respectiv (funcţie de tipul îndoiturii)

Exemple

origami.inorigami.outExplicaţii
4 3 1 3 2 3 1 1 3 2 6 Hârtia are 4 unităţi înălţime şi 4 unităţi lăţime.Prima îndoitură se realizează de la stânga la dreapta, de-a lungul celei de-a treia linii verticale faţă de marginea stângă a foii. Se obţine o foaie de înălţime 4, lăţime 3 şi grosime 2. A doua îndoitură se realizează îndoind partea superioară a foii, în jos, de-a lungul celei de-a treia linii orizontale faţă se marginea de sus a foii. Se obţine un obiect de înălţime 3, lăţime 3 şi grosime 4. După a treia îndoitură se obţine obiectul final, având înălţimea 3, lăţimea 2 şi grosimea 6.

autor: Prof. Alin Burţa
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONI 2009: bile, checkin, numere, text, reactii, volei, magic2, sirag, taste, tetris, rafturi, joc2, br, reinvent, perspic, tir, patrate2, nrcuv2, matrice, patrate1, pikachu, taxe, cartonas, case, desen2
De acelaşi autor: picnic, expresie, magic3, suma, race, balls, pcod, cat, cai1, cub1, cifru, cuburi2, cub2, adun, dir, atac2, comp, mxl, joc19, cifru5, gradina1, joc21
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, 2ndesc, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
surse trimise | ajutor