import java.io.IOException;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.Scanner;
import java.util.Vector;
import java.util.Arrays;
class Main
{
public static final boolean DEBUG = false;
public static Vector<String> v;
public static boolean[][] vis;
public static byte[] ans;
public static void dfs(int cur)
{
//System.out.println("cur=" + cur);
if (cur == 8) {
String s = new String(ans);
//System.out.println("s:" + s);
v.add(s);
return;
}
for (int i = 0; i < 8; i++) {
if (!vis[0][i] && !vis[1][i - cur + 7] && !vis[2][i + cur]) {
ans[cur] = (byte)(i + 1 + '0');
vis[0][i] = vis[1][i - cur + 7] = vis[2][i + cur] = true;
dfs(cur + 1);
vis[0][i] = vis[1][i - cur + 7] = vis[2][i + cur] = false;
}
}
}
public static void main(String[] args) throws IOException
{
Scanner cin;
int n, t;
if (DEBUG) {
cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt"));
} else {
cin = new Scanner(new InputStreamReader(System.in));
}
v = new Vector<String>();
vis = new boolean[3][15];
ans = new byte[8];
dfs(0);
t = cin.nextInt();
while (t-- > 0) {
n = cin.nextInt();
System.out.println(v.elementAt(n - 1));
}
}
}
题目1140:八皇后
最新推荐文章于 2020-07-29 13:47:46 发布