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

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


Timp maxim de executie/test:
3.5 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

La aniversarea a 150 de ani de existenta a scolii noastre s-a prezentat un spectacol in care faza cea mai spectaculoasa a fost un dans in care elevii s-au asezat in cercuri concentrice, cate un cerc pentru fiecare clasa si au inceput sa se roteasca pe ritmul muzicii. Numarul n de elevi dintr-o clasa este acelasi, dar numarul de baieti si fete, precum si asezarea acestora in cercuri difera, asa ca profesorul de informatica privind de pe margine si-a pus urmatoarea intrebare: e posibil ca rotind cercurile de elevi sa se obtina o asezare in care elevii de pe aceeasi raza sa fie numai baieti sau numai fete, iar daca nu, care e numarul maxim de astfel de raze care se pot obtine.

Cerinta

Cunoscand asezarea initiala a elevilor pe fiecare cerc si considerand ca referinta cercul cel mai din interior, stabiliti cu cate pozitii trebuie sa se roteasca spre dreapta elevii fiecarui cerc pentru a obtine un numar maxim de raze cu elevi de acelasi sex. Prin rotirea cu o pozitie spre dreapta elevul din pozitia i trece in pozitia i+1, pentru i=1,2,...,n-1, iar cel de pe pozitia n trece pe pozitia 1.

Date de intrare

Pe prima linie a fisierului de intrare dans.in sunt scrise  doua numere naturale m si n, reprezentand numarul de clase si, respectiv, numarul de elevi dintr-o clasa. Pe urmatoarele m linii sunt cate n numere 0 sau 1 (0 pentru fata, 1 pentru baiat), reprezentand asezarea initiala a elevilor, in ordinea crescatoare a razelor. Numerele de pe aceeasi linie vor fi separate de cate un spatiu.

Date de iesire

Prima linie a fisierului dans.out va contine numarul maxim de raze formate numai din baieti sau numai din fete care se pot obtine. Pe urmatoarea linie vor fi m-1 numere separate de cate un spatiu reprezentand cu cate pozitii se roteste fiecare cerc, incepand cu al doilea, pentru a obtine configuratia respectiva. Daca sunt mai multe solutii posibile se va alege aceea in care cercul care e mai in interior sa se roteasca cat mai putin. Daca pentru un cerc sunt mai multe posibilitati de rotire se va alege cea in care se roteste mai putin.

Restrictii

  • 2 <= m < 32
  • 3 <= n < 32

Exemplu

dans.in

dans.out

Explicatie

5 4
1 0 1 0
0 1 1 0
1 0 1 0
1 0 0 0
1 0 1 1

2
0 0 2 2

rotind cercurile 3 si 4 cu cate doua pozitii spre dreapta obtinem
1 0 1 0
0 1 1 0
1 0 1 0
0 0 1 0
1 1 1 0

prof. Nistor Mot
Colegiul National "N. Balcescu" Braila
Contact:emotz_ro@yahoo.co.uk

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2005: cuc, prime, radio, text2, honest, police, comori, patrate3, fisc, ref, pcod, zmeu, loc, nr01, scor2, judete, strict, convert, bile3, cod2, depou, auto2, tree, cat, nr3, chimie2, compress, jobs, leaves, zid, politics, onu2, ploaia, grazing, pstring, cartonase2, exp, cartoane, sir3, program, scoici, playlist, sqr, cai1, farfurii, joc1, trafic, carte, set, barbie, labirint, firma1, vile, game, donald, ambigram, albinuta, rlcs, stea, submatrix, cub1, ham, sponsori, young, jokes, pizza1, albine, lot, atac1, monede1, count, exam, herbert, sudoku, bio, metro
De acelaşi autor: cursa, insule, termen, div, mese, hperm, zmeu, chimie2, mere2, vile, multiplu, paralel, divizor, ghici, barca1, fibo, parc, circular, sant, mobile, pattern, mutare, concurs2, soricel1, soricel2, vizibil, bloc, soricel3, sah1, gramada, gramezi1, aranjari, numere5, cifru1, lacusta, sir6, puncte3, peri, atelier, radical, pion, el, tort1, triunghi4, bile6, zmax
Despre backtracking: acop, bipal, magic2, vagoane, friends, tricouri, festival, numar, pento, ro, jobs, onu2, sir3, cai1, labirint, ham, sudoku, caramele, linie, puncte, castel, excursia, joc7, pattern, avere, paianjen, medii, monkey, scara1, numere8, banda1, spirala1, cofetar, gradina, placa, smin, jucarii, immortal, concat, cubinvers, codif, izvor, avioane, jb, prisme, triburi1, genab, dineu, antitero, ornament, virgule
Despre operaţii pe biţi: barfa, cod, gray, cartonase, plimbare, excursie, xor, vector, ro, nrbinar, radio, chimie2, metro, caini, newcomp, viteza, bcast, aritma, pereti, morse, paritate, gradina, xor2, game1, efect, gxor, lgdrum, qtri, patrate7, panda, cript
surse trimise | ajutor