#include<cmath>
using namespace std;
int a[8];
int cnt=1; //计数
void search(int);
void output();
int check(int,int);
int main()
{
search(0);
return(0);
}
void search(int m) //递归
{
int i;
if(m==8)
{
output();
}
else
{
for(i=0;i<8;i++)
{
if(check(m,i)) //先判断,后赋值
{
a[m]=i; //即在m行i列放皇后
search(m+1);
}
}
}
}
int check(int row,int col)
{
int n,flag=1;
for(n=0;n<row;n++)
{
if(a[n]==col||abs(a[n]-col)==abs(row-n))
{
flag=0;
break;
}
}
return(flag);
}
void output()
{
int i,j;
cout<<"No "<<cnt<<':'<<endl;
cnt=cnt+1;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
if(j==a[i])
{
cout<<'A';
}
else
{
cout<<'.';
}
if(j==7)
{
cout<<endl;
}
}
}
}