Fişierul intrare/ieşire:latin1.in, latin1.outSursăONI 2013 baraj gimnaziu
AutorEmanuela CerchezAdăugată detudorcomanTudor Coman tudorcoman
Timp execuţie pe test0.5 secLimită de memorie4096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Latin1 (baraj gimnaziu)

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.

Exemplu

latin1.inlatin1.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
Trebuie sa te autentifici pentru a trimite solutii. Click aici