欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

八皇后

程序员文章站 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--; 
            } 
        }


相关标签: C