#150
shift1
Bulbuka este foarte pasionată de gătit deserturi. Ea a decis să facă (n+2)*(n+2)
brioşe pe care le-a numerotat (cu ciocolată, bineinţeles) în modul următor: primele n*n
brioşe au fost numerotate de la 1
la n*n
, iar restul până la (n+2)*(n+2)
au primit valoarea 0
. De asemenea, după ce au fost gata, Bulbuka nu a putut rezista tentaţiei de a ordona brioşele într-un pătrat cu latura (n+2)
după cum urmează: cele cu 0
pe conturul exterior iar cele numerotate de la 1
la n*n
, în interior, în ordine crescătoare, pe linii, de sus in jos, ca în figura alăturată. Bulbuka a numit această aranjare configuraţia ordonată a brioşelor.
Acest aranjament frumos a durat foarte puţin deoarece, pe când Bulbuka stătea cu spatele, Randomel a amestecat brioşele între ele, într-o ordine aleatoare. Când s-a întors şi a văzut fapta, ea s-a supărat foarte tare şi l-a pedepsit pe Randomel punându-l să le aranjeze la loc cum erau (ca în imagine) folosind doar un set limitat de operaţii: shiftări circulare pe linii şi pe coloane. O shiftare presupune deplasarea circulară la dreapta, pe linie sau în jos, pe coloană, cu cel puţin una şi cel mult n+1
poziţii.
Randomel vă roagă să scrieţi un program care, pentru o aranjare aleatorie a brioşelor, să afişeze shiftările circulare posibile care transformă configuraţia dată într-o configuraţie ordonată.
Urmasii lui Moisil, Iasi, 2013
Problema | shift1 | Operații I/O |
shift1.in /shift1.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #33685356 | Utilizator | |
Fișier | shift1.cpp | Dimensiune | 1.04 KB |
Data încărcării | 05 Ianuarie 2022, 15:28 | Scor / rezultat | Eroare de compilare |
shift1.cpp: In function 'int main()': shift1.cpp:35:5: error: reference to 'cin' is ambiguous cin >> n; ^ shift1.cpp:3:10: note: candidates are: std::ifstream cin ifstream cin("nuclee.in"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from shift1.cpp:1: /usr/include/c++/4.8/iostream:60:18: note: std::istream std::cin extern istream cin; /// Linked to standard input ^ shift1.cpp:38:9: error: reference to 'cin' is ambiguous cin >> x; ^ shift1.cpp:3:10: note: candidates are: std::ifstream cin ifstream cin("nuclee.in"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from shift1.cpp:1: /usr/include/c++/4.8/iostream:60:18: note: std::istream std::cin extern istream cin; /// Linked to standard input ^ shift1.cpp:41:13: error: reference to 'cin' is ambiguous cin >> y; ^ shift1.cpp:3:10: note: candidates are: std::ifstream cin ifstream cin("nuclee.in"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from shift1.cpp:1: /usr/include/c++/4.8/iostream:60:18: note: std::istream std::cin extern istream cin; /// Linked to standard input ^ shift1.cpp:47:5: error: reference to 'cout' is ambiguous cout << rez; ^ shift1.cpp:4:10: note: candidates are: std::ofstream cout ofstream cout("nuclee.out"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from shift1.cpp:1: /usr/include/c++/4.8/iostream:61:18: note: std::ostream std::cout extern ostream cout; /// Linked to standard output ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema shift1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.