Informatică, întrebare adresată de NCarapangia, 9 ani în urmă

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 jonas2
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;}
Alte întrebări interesante