dans

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

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

Timp maxim de executie/test: 3.5 secunde

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