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

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


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

Un pătrat latin de ordin N este o matrice cu N linii şi N coloane care conţine N simboluri distincte, astfel încât orice linie şi orice coloană conţine toate cele N simboluri. Denumirea de pătrat latin provine din lucrările matematicianului Leonhard Euler, care a folosit ca simboluri litere din alfabetul latin.

Să considerăm un pătrat latin de ordin N care conţine numerele naturale de la 1 la N. Acesta poate conţine la rândul său subpătrate latine. Un subpătrat de ordin L (1<L<N) este format din elemente situate la intersecţia a L linii consecutive şi L coloane consecutive în pătratul dat. Subpătratul de ordin L este considerat subpătrat latin dacă el conţine numai numerele naturale de la 1 la L, astfel încât fiecare linie şi fiecare coloană din subpătrat conţine toate cele L numere.

Cerinţă

Dat fiind un pătrat latin, să se determine toate subpătratele latine conţinute de acesta.

Date de intrare

Fişierul de intrare latin.in conţine pe prima linie numărul natural N. Pe următoarele N linii se află câte N numere naturale distincte cuprinse între 1 şi N, separate prin spaţii, reprezentând elementele unui pătrat latin de ordin N.

Date de ieşire

Fişierul de ieşire latin.out va conţine pe prima linie un număr natural Nr, reprezentând numărul de subpătrate latine conţinute de pătratul latin dat. Pe următoarele Nr linii vor fi descrise subpătratele latine determinate, câte un subpătrat pe o linie. Linia care descrie un subpătrat va conţine 3 numere naturale separate prin câte un spaţiu ls cs o, unde ls şi cs reprezintă linia, respectiv coloana colţului din stânga-sus al subpătratului, iar o reprezintă ordinul acestuia. Subpătratele vor fi scrise în ordinea crescătoare a liniilor pe care se află colţul din stânga-sus; dacă există mai multe subpătrate cu colţul din stânga-sus pe aceeaşi linie, vor fi afişate crescător după ordin.

Restricţii

2 ≤ N ≤ 500
• Liniile şi coloanele sunt numerotate de la 1 la N.

Exemple

latin.inlatin.out
3 2 3 1 1 2 3 3 1 2 0
8 5 6 7 8 1 2 3 4 6 7 8 5 2 1 4 3 7 8 5 6 3 4 2 1 8 5 6 7 4 3 1 2 1 4 2 3 5 6 7 8 2 1 3 4 6 7 8 5 3 2 4 1 7 8 5 6 4 3 1 2 8 5 6 7 4 1 5 2 1 5 4 3 7 2 5 1 4

autor: Prof. Emanuela Cerchez
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONIGIM 2013: cursa1, patrate7, secvp, swap, zmax, extraprime, greieri, onigim, divizori1, remi1, tetris3, amestec, sudoku1, eoliene
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, 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, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, 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
Software recomandat
surse trimise | ajutor