#include <stdio.h> 
#include <math.h> 
int count=0; 
void empress(int *position) 
{
	int i,j,flag;
	while(position[8]!=1)
	{
		++position[0];
		for(i=0;i<8;++i)
		{
			if(position[i]==8)
			{
				position[i]=0;
				++position[i+1];
			}
		}
		flag=1;//判断结果是否满足条件
		for(i=0;i<8;++i)
		{
			for(j=0;j<8;++j)
			{
				if(i!=j)
				{
					if(position[i]==position[j])
						flag=0;
					else if(abs(position[i]-position[j])==abs(i-j))
						flag=0;
				}
			}
		}
		if(flag==1)//输出#代表皇后                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
		{
			for(i=0;i<8;++i)
			{
				for(j=0;j<8;++j)
				{
					if(position[i]==j)
						printf("1");
					else
						printf("0"); 
				}
				printf("\n");
			}
			printf("\n");
		}
		count+=flag;
	}
}
int main() 
{
	int position[9]={0};
	empress(position);
	printf("%d种解\n",count);
	return 0; 
}