using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class dayin
{
public void print(int[] chess, int N,int o)
{
Console.WriteLine("第"+o+"种方法:\n");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (chess[i] == j) Console.Write("*");
else Console.Write("@");
}
Console.Write("\n");
}
}
};
class dfs
{
int[] chess=new int[9];
int o=0;
public bool check(int k)
{
for (int i = 0; i < k; i++)
{
if (Math.Abs(chess[i] - chess[k]) == Math.Abs(i - k)
|| chess[i] == chess[k])
return false;
}
return true;
}
public void DFS(int t,int N)
{
if (t == N)
{
o++;
dayin da = new dayin();
da.print(chess, N,o);
}
else
{
for (int i = 0; i < N; i++)
{
chess[t] = i;
//dfs che=new dfs();
if (check(t))
{
DFS(t + 1,N);
}
}
}
return;
}
};
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
dfs df=new dfs();
df.DFS(0,8);
Console.ReadLine();
return ;
}
}
}