美文网首页
八皇后问题-一维数组

八皇后问题-一维数组

作者: JaJIng | 来源:发表于2019-04-03 15:42 被阅读0次
    public static class Queue8{
        private  int[] queens= new int[8];
        
        private  int count=0;
    
        public  void put(int curCol){
            System.out.println("put("+curCol+")");
            if(curCol==8) {
                count++;            
                return;
            }
            for(int row=0;row<8;row++) {
                queens[curCol]=row;
                //System.out.println("queens["+queens[curCol]+"]"+"="+row);
                if(check(curCol,row)) {
                    //System.out.println(Arrays.toString(queens));
                    put(1+curCol);
                }
            }
            
        }
        
        public  boolean check(int curCol,int putRow) {
            for(int i=0;i<curCol;i++) {
                if(queens[i]==putRow|| Math.abs(queens[i]-putRow)==Math.abs(curCol-i)) {
                    //System.out.println("check ("+curCol+","+putRow+");false");
                    return false;
                }
            }
            //System.out.println("check ("+curCol+","+putRow+");true");
            return true;
        }
    }

    相关文章

      网友评论

          本文标题:八皇后问题-一维数组

          本文链接:https://www.haomeiwen.com/subject/hojzbqtx.html