把这些水题也是经典的题目放上这里,作为菜鸟的回忆.
#include<iostream>
#include<memory.h>
using namespace std;
int queb[8][8];
int ans[92][8];
int col[8];
int num;
int n, b, j, hang[8];
void dfs(int deep)
{ int j,k;
if(deep==8)
{
for(int i=0;i<8;i++)
{
ans[num][i]=col[i]+1;
}
num++;
return;
}
for( j=0;j<8;j++)
{
for( k=0;k<deep;k++)
if( col[k]==j||(k-deep)==(col[k]- j)||(deep- k ) == ( col[k] - j) )
break;
if( k == deep)//放置i,尝试第i + 1 个皇后
{
col[deep] = j;
dfs(deep + 1 );
}
}
}
int main()
{
int test;
cin>>test;
num=0;
while(test--)
{
int a;
cin>>a;
dfs(0);
for(int i=0;i<8;i++)
{
cout<<ans[a-1][i];
}
cout<<endl;
}
system("pause");
}