我就看看
朕想知道
v
朕想知道
真想知道
1
#include<stdio.h>
int pd(int a[],int y,int x);
voiddy(int a[]);
voidcsbh(int a[],int y);
voiddy(int a[])
{
static int m=1;
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
{
printf("%d",a);
}
printf("\n");
}
printf("\n…%d…\n",m++);
}
voidcsbh(int a[],int y)
{
for(int i=0;i<8;i++)
{
a=0;
}
}
void b(int a[],y)
{
for(int i=0;i<8;i++)
{
csbh(a,y); //每判断下一个前点初始化本行
if(pd(a,y,i))//判断点能不能用
{
a=1; //能用写1
if(y>=7)
{
dy(a);
continue;//如果最后一行就打印结果并判断下一个点
}
//加一行往下递
b(a,y+1);
}
}
}
int pd(int a[],int y, int x)
{
int x1,y1;
y1=y;
while(--y1>=0)
{
if(a)//检查上面
{
return 0;
}
}
x1=x;
y1=y;
while(--y1>=0 && --x1>=0)
{
if(a)//检查左上
{
return 0;
}
}
x1=x;
y1=y;
while(--y1>=0 && ++x1<8)
{
if(a) //检查右上
{
return 0;
}
}
return 1;//都检查完就返回1(可以用)
}
voidcsz(int a[])
{
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
a=0;
}
int main()
{
int a={0};
for(int i=0;i<8;i++)
{
csz(a);
a=1;
b(a,1);
}
return 0;
}
朕想知道
真想知道
1
1
1
动动手0题,应该为targe+=1,求大神告诉理由
A
想知道
想知道
123
1
我想知道
a