博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
八皇后问题 回溯法
阅读量:4551 次
发布时间:2019-06-08

本文共 1724 字,大约阅读时间需要 5 分钟。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace Demo 8 { 9     class Program10     {11         static int num = 8;/*可以随意修改,num是多少解的就是几皇后问题*/12         static int[] arr = new int[8];13         static int count = 0;14         static void display()/*一个简单的数组输出函数,顺便统计解的个数*/15         {16             for (int i = 0; i < num; ++i)17             {18                 for (int j = 0; j < num; j++)19                 {20                     if (arr[i] == j)21                         Console.Write("Q");22                     else23                         Console.Write("*");24                 }25 26                 Console.WriteLine(" ");27             }28             count++;29             Console.WriteLine("-------------" + count.ToString() + "--------------------");30         }31 32         static void queens(int pos = 0)33         {34             /*同在斜线或者直线上*/35             for (int i = 0; i < pos-1; ++i)36              {37                 int off = arr[i] - arr[pos - 1];38                 if (off == 0 || off == pos - 1 - i || -off == pos - 1 - i)39                     return;40             }41 42             /*符合条件就输出*/43             if (pos == num)44             { 45                 display(); 46                 return; 47             }48 49             /*递归搜索解空间*/50             for (int k = 0; k < num; ++k)51             {52                 arr[pos] = k;53                 queens(pos + 1);54             }55         }56 57         static void Main(string[] args)58         {59             queens(0);60 61             Console.ReadKey();62 63         }64     }65 }

 

转载于:https://www.cnblogs.com/mandalaluo/p/4204269.html

你可能感兴趣的文章
java读取文件夹下所有文件并替换文件每一行中指定的字符串
查看>>
HTML5规范-相关资料链接(大多都是英文文档)
查看>>
[转]OData/WebApi
查看>>
[转]高颜值、好用、易扩展的微信小程序 UI 库,Powered by 有赞
查看>>
[转]SQL Server如何启用xp_cmdshell组件
查看>>
[转]微擎应用笔记3--manifest.xml文件使用说明
查看>>
Codeforces 1000C Covered Points Count 【前缀和优化】
查看>>
python高效读取文件、文件改写
查看>>
gulp
查看>>
pgsql查询优化之模糊查询
查看>>
[转]-Gradle使用手册(三):构建任务
查看>>
ExtJS下拉树
查看>>
android 调用系统相机录像并保存
查看>>
BW系统表的命名规则
查看>>
Asp.Net在IE10下出现_doPostBack未定义的解决办法 LinkButton
查看>>
《CLR via C#》Part2之Chapter5 基元类型、引用类型和值类型(一)
查看>>
接口和抽象类的对比,面向对象的三大特性和四大特性
查看>>
1-9 RHEL7-文件权限管理
查看>>
apache服务器安装
查看>>
Search a 2D Matrix
查看>>