Treba da postavim n kraljica na tablu tako da se one medjusobno ne napadaju
zelim preko matrica da ga uradim tako da sam pokusao sledece:
#include
using namespace std;
int n=8,a[8][8]={};
void pisi()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<a[i][j];
cout<<endl;
}
}
bool napadaju_se(int r,int p)
{
for(int i=0;i<r;i++)
for(int j=0;j<n;j++)
{
if(a[i][j]==1)
{
if(p==j)
return true;//napadaju se;
for(int i1=i,j1=j;i1<=r && j1<n;i1++,j1++)
if(i1==r && j1==p)
return true;//napadaju se;
for(int i1=i,j1=j;i1<=r && j1>=0;i1++,j1--)
if(i1==r && j1==p)
return true;//napadaju se;
}
}
return false;//ne napadaju se
}
void f(int b,int r,int p)
{
if(b==n)
{
pisi();
cout<<endl;
return;
}
if(napadaju_se(r,p)==false)
{
a[r][p]=1;
f(b+1,r+1,0); //idem u sledeci red je r smo u jedan vec smestili kraljicu, pozicija krece od 0
}
else f(b,r,p+1); //pozicija se povecava
a[r][p]=0;//vracam na nulu ako slucaj gde kraljica zauzimma poziciju r p nije moguc
}
int main()
{
f(0,0,0);//brohj_kraljica_koje_smo_postavili \ red \ pozicija
}
moze li neko da pomogne sta mi fali