#337
Saritura_Calului
Să se determine o modalitate de parcurgere integrală a unei tablei de către un cal care se deplasează în maniera specifică calului de șah, astfel încât acesta să nu treacă de două ori prin aceeaşi poziţie.
Problema | Saritura_Calului | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #24199940 | Utilizator | |
Fișier | saritura_calului.cpp | Dimensiune | 1.09 KB |
Data încărcării | 30 Septembrie 2020, 17:30 | Scor / rezultat | Eroare de compilare |
saritura_calului.cpp:1:10: error: #include expects "FILENAME" or <FILENAME> #include using namespace std; int n; int matrice[105][105], xi = 0, yi = 0; const int directii = 8; const int di[directii] = {-2, -1, 1, 2, 2, 1, -1, -2}; const int dj[directii] = { 1, 2, 2, 1, -1, -2, -2, -1}; void Citire() { cin >> n; cin >> xi >> yi; matrice[xi][yi] = 1; } bool isFull() { for(int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (matrice[i][j] == 0) return false; return true; } void Solutie() { static int w = 1; cout << "Solutia nr. " << w << ": \n"; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) cout << matrice[i][j] << " "; cout << "\n"; } w ++; cout << "\n\n"; } bool isOK(int i, int j) { if(i > n - 1 || i < 0) return false; if(j > n - 1 || j < 0) return false; if(matrice[i][j]) return false; return true; } void Rezolvare(int x, int y) { static int r = 2; if(isFull()) { Solutie(); //exit(1); return ; } for(int i = 0; i < directii; i++) { int i_vecin = x + di[i]; int j_vecin = y + dj[i]; if (isOK(i_vecin, j_vecin)) { matrice[i_vecin][j_vecin] = r++; Rezolvare(i_vecin, j_vecin); matrice[i_vecin][j_vecin] = 0; r--; } } } int main() { Citire(); Rezolvare(xi, yi); return 0; } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Saritura_Calului 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ă.