六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

八皇后

[复制链接]

升级  64%

116

主题

116

主题

116

主题

举人

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2013-1-26 12:27:43 | 显示全部楼层 |阅读模式
二维数组中对于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--;             }         }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表