查看完整版本: 八皇后问题的高效解法-递归版

不再问 2007-9-18 19:31

八皇后问题的高效解法-递归版

//8 Queen 递归算法
//如果有一个Q 为 chess[i]=j;
//则不安全的地方是 k行  j位置,j k-i位置,j-k i位置

class Queen8{


  static final int QueenMax = 8;
  static int oktimes = 0;
  static int chess[] = new int[QueenMax];//每一个Queen的放置位置


  public static void main(String args[]){
    for (int i=0;i<QueenMax;i  )chess[i]=-1;
    placequeen(0);
    System.out.println("\n\n\n八皇后共有" oktimes "个解法    made by yifi 2003");
  }


  public static void placequeen(int num){ //num 为现在要放置的行数
    int i=0;
    boolean qsave[] = new boolean[QueenMax];
    for(;i<QueenMax;i  ) qsave[i]=true;
   
    //下面先把安全位数组完成
    i=0;//i 是现在要检查的数组值
    while (i<num){
      qsave[chess[i]]=false;
      int k=num-i;
      if ( (chess[i] k >= 0)
页: [1]

查看完整版本: 八皇后问题的高效解法-递归版