最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
n皇后问题
时间:2022-07-02 11:01:18 编辑:袖梨 来源:一聚教程网
main()
{
int i,j,good=1,a[43][43]={0},n,ix,jy,num=0,x,it,jt,test=0;
printf("nn=");
scanf("%d",&n);
if(n>41){printf("Error.");goto exit;}
for(i=1,j=1;1;)
{
if(good)
{
a[j][i]=1;
if(j==n)
{
for(jy=1;jy<=n;jy++)
{
printf("n");
for(ix=1;ix<=n;ix++){printf(" %d",a[jy][ix]);}
}
num++;
a[j][i]=0;
i++;
getch();
printf("n");
}
else {j++;i=1;}
}
else i++;
if(i>n)
{
j--;
for(ix=1;ix<=n;ix++){if(a[j][ix]==1)x=ix;}
a[j][x]=0;
i=x+1;
}
if((j==1)&&(i==(n+1)))goto out;
else if(j==1) good=1;
else if(i>n) good=0;
else {
for(it=i-1,jt=j-1;(it>0)&&(jt>0);it--,jt--)
if(a[jt][it]==1)test=1;
for(it=i+1,jt=j-1;(it<=n)&&(jt>0);it++,jt--)
if(a[jt][it]==1)test=1;
for(it=i,jt=j-1;jt>0;jt--)
if(a[jt][it]==1)test=1;
if(test==0)good=1;
else good=0;
test=0;
}
}
out:printf("n num=%d",num);
exit:getch();
}
相关文章
- 《燕云十六声》配置要求介绍 12-25
- 《燕云十六声》搬砖介绍 12-25
- 时空中的绘旅人天宇之间怎么玩 绘旅人天宇之间活动玩法介绍 12-25
- QQ2024年度报告怎么看 2024qq年度报告玩法介绍 12-25
- 归龙潮珠砂什么时候up 归龙潮红缘绮梦卡池介绍 12-25
- 王者荣耀S38赛季有什么更新 12-25