zoukankan      html  css  js  c++  java
  • n皇后问题(dfs-摆放问题)


    你的任务是,对于给定的N,求出有多少种合法的放置方法。 

    Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input

    1
    8
    5
    0

    Sample Output

    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]);
                }
        }
    }
  • 相关阅读:
    软件工程导论P53,习题2.4
    视图和数据表的区别
    无法从“object”转换为“string”
    Oracle 密码重置
    Struts2 上传下载
    Spring 事务管理
    JSP 指令和动作
    JS 禁用回车、后退事件、form 表单不可编辑
    关于 in 和 exist 的理解
    Oracle clob 操作函数
  • 原文地址:https://www.cnblogs.com/qdu-lkc/p/12238757.html
Copyright © 2011-2022 走看看