Input共有若干行,每行一個正整數N≤10,表示棋盤和皇后的數量;若是N=0,表示結束。Output共有若干行,每行一個正整數,表示對應輸入行的皇后的不一樣放置數量。Sample Inputjava
1 8 5 0
Sample Outputspa
1 92 10
注意:
每一行必須擺放
a[t]=i 表示第t行,在第i列擺放皇后
預處理一下,不然超時
代碼:
import java.util.Scanner; public class Main{ // static int n,cnt; // static int a[]=new int[15]; // static boolean check(int t){ // for(int i=0;i<t;i++) // if(a[i]==a[t] || Math.abs(i-t)==Math.abs(a[i]-a[t])) // return false; // return true; // } // static void dfs(int t){ // if(t==n ) cnt++; // for(int i=0;i<n;i++){ // a[t]=i; // if(check(t)) dfs(t+1); // } // } // public static void main(String[] args) { // Scanner scan=new Scanner(System.in); // while(scan.hasNext()){ // n=scan.nextInt(); // if(n==0) break; // cnt=0; // dfs(0); // System.out.println(cnt); // } // } public static void main(String[] args) { Scanner scan=new Scanner(System.in); int a[]={1,0,0,2,10,4,40,92,352,724}; while(scan.hasNext()){ int n=scan.nextInt(); if(n==0) break; System.out.println(a[n-1]); } } }