八皇后
程序员文章站
2022-04-02 16:43:49
...
二维数组中对于a和a[m,n] 如果Abs(i-m)==Abs(j-n)则相互攻击。 static void Main(string[] args) { Program p = new Program(); int i, k, n = 8, r = 8; int[] a; a = new int[9]; for (i = 1; i <= r; i++) { a = 0; } k = 1; while (k >= 1) { while (a[k] < n) { a[k] = a[k] + 1; i = 1; while (i < k && (a - a[k]) != 0 && (System.Math.Abs(a - a[k]) - System.Math.Abs(i - k)) != 0) i++; if (i <= k - 1) { continue; } if (k == 8) { for (i = 1; i <= 8; i++) { Console.WriteLine(a); } return; } else { k++; } } a[k] = 0; k--; } }