⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 八皇后问题的java程序.txt

📁 八皇后问题的Java程序
💻 TXT
字号:
发信人: Tity (云中浪子), 信区: arithmetic 

标  题: 八皇后问题的Java程序 

发信站: 幽幽黄桷兰 (2002年07月08日19:41:44 星期一), 站内信件 

  

// 火火试一下这个程序的速度如何? 

// 程序中 d l r 数组分别表示不可放的纵列和左右斜45度列 

  

class queen 

{ 

  boolean[] d, l, r; 

  int[] q; 

  int count; 

  

  queen (int n) 

  { 

    count = 0; 

    q = new int[n]; 

      d = new boolean[n]; 

      l = new boolean[n + n]; 

      r = new boolean[n + n]; 

      Run (0, n); 

      System.out.print ("Total="); 

      System.out.println (count); 

  } 

  

  void Run (int i, int n) 

  { 

     int k; 

  

    for (k = 0; k < n; k++) 

      { 

        if (d[k] || l[i - k + n] || r[i + k]) 

          continue; 

        d[k] = l[i - k + n] = r[i + k] = true; 

        q[i] = k; 

        if (i == n - 1) 

          count++; 

        else 

          Run (i + 1, n); 

        d[k] = l[i - k + n] = r[i + k] = false; 

      } 

  } 

  

      } 

      } 

  } 

  

  public static void main (String arg[]) 

  { 

    int n; 

  

      n = 8; 

    if (arg.length >= 1) 

        n = Integer.parseInt (arg[0]); 

    new queen (n); 

  } 

} 

-- 

  

-- 

             _ 

   ---------------+--------------- 

             ___ /^^[___              _ 

            /|^+----+   |#___________// 

          ( -+ |____|   _______-----+/ 

           ==_________--'            \ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -