Elaborați un program :
Se dă un număr natural n. Să se determine toate modalitatile în care pot fi plasate n regine pe o tablă de şah astfel încât ele să nu se atace.
Mersi❤❤
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int n;
int v[15],sol=0;bool col[20],dgp[30],dgs[30];
void Back(int k){ for (int i = 1; i<=n; i++) { if (col[i] == 0 && dgp[n+i-k] == 0 && dgs[i+k-1] == 0) { v[k] = i; col[i] = dgp[n+i-k] = dgs[i+k-1] = 1; if (k == n) sol++; else Back(k+1); col[i] = dgp[n+i-k] = dgs[i+k-1] = 0; } }}
int main(){ cin >> n; Back(1); cout << sol;}
using namespace std;
int n;
int v[15],sol=0;bool col[20],dgp[30],dgs[30];
void Back(int k){ for (int i = 1; i<=n; i++) { if (col[i] == 0 && dgp[n+i-k] == 0 && dgs[i+k-1] == 0) { v[k] = i; col[i] = dgp[n+i-k] = dgs[i+k-1] = 1; if (k == n) sol++; else Back(k+1); col[i] = dgp[n+i-k] = dgs[i+k-1] = 0; } }}
int main(){ cin >> n; Back(1); cout << sol;}
Alte întrebări interesante
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Istorie,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă