
Brute Force
文章平均质量分 58
weiye1234
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uva - 216 - Getting in Line
题目要求: 给出2-8个坐标,代表八台电脑,找出把这些电脑连成一串的最小的线长。最后要加上16*(N-1),预留的线长。 解题思路: 8!不是很大,所以可以枚举,求出所有顺序的长度,如果 细节注意: 输出很多,注意输出的细节问题,WA一次因为输出语句落了最后的'.'。 AC代码: //#define Local #include #include原创 2014-01-24 13:02:25 · 703 阅读 · 0 评论 -
uva - 539 - The Settlers of Catand
类型: 暴力求解中的回溯法 题目要求: 输入n、m,n代表点的个数,m代表这n之间边的个数,找出这个图中的最长路径长度。 解题思路: 不用用数据结构的算法,用回溯就行,主要注意这是一个无向图,从哪个点开始都行。用数组类似邻接矩阵表示图。 细节注意: 1、注意是无向图,所以输入的时候要赋值两个,并且要DFS每个结点找最大的。也就是main中的那个循环原创 2014-01-24 23:33:40 · 888 阅读 · 0 评论 -
uva - 270 - Lining Up(枚举、排序)
题意:输入几个点,输出最多有几个点在一条直线上。 方法:枚举所有点与其他点的斜率,去斜率相同最多的情况。时间复杂度O(n^n)。 #include #include #include #include #include #include #include #include #include using namespace std; #d原创 2014-02-12 10:58:45 · 838 阅读 · 0 评论 -
uva - 11464 - Even Parity(部分枚举,递推)
题意:给你一个nxn的矩阵01矩阵,(每个元素非0就1),你的任务是把尽量少的0变成1,使矩阵的每个元素的上下左右的元素只和均为偶数。 方法:枚举每个数字变或者不变有2^255太大。但是枚举第一行只有2^15,然后根据第一行计算下边的就行。注意是从上到下,从左到右计算,也就是得到的肯定是满足题意的。如果出现矛盾,则这种枚举不合适,返回INF。 #include #include #原创 2014-02-20 22:02:50 · 810 阅读 · 0 评论 -
uva - 193 Graph Coloring(回溯)
题意:给你一个图形,你的任务是找到一种最佳涂色的方法。图形中的点要被涂顏色(只能涂黑色或白色),而且任何2个相连的点不可以都涂黑色。所谓最佳的涂色方法是指让这个图形黑色的点最多。以下图形的涂色即是一种最佳涂色。 方法:回溯,枚举所有点的黑白情况,然后判断可行性。 参考:http://blog.youkuaiyun.com/goomaple/article/details/7957258 #inc原创 2014-02-04 11:10:56 · 1032 阅读 · 0 评论 -
uva - 524 - Prime Ring Probl(素数环、回溯)
题意:素数环。 方法:回溯,参见刘汝佳《算法入门经典》P127。 注意:有些n没有素数环,例如11。。刚开始以为程序除了问题,用了uva toolkit才知道的。 #include #include #include #include #include #include #include #include #include using namespace std; in原创 2014-02-04 02:45:53 · 752 阅读 · 0 评论 -
uva - 165 - Stamps(回溯、模拟)
题意: 输入两个数字, h(贴邮票的位置数)、k(邮票的面额数)。输出可以组成的最大、连续、面额。原创 2014-02-03 19:37:25 · 727 阅读 · 0 评论 -
uva - 140 - Bandwidth(模拟 + 下一个排列 + 图)
题目大意: 带宽问题,输入一个图,对这个图的结点进行排列,每一个结点的宽度就是这个结点到它所连接的结点的最大距离。一个排列宽度就是所有结点宽度的最大值。一个图的(最大)最小带宽就是所有排列的中的那个(最大)最小带宽。这个题就是求输入的那个图的最小带宽,和对应的排列。 解题思路: 1、图的输入比较麻烦,用邻接矩阵表示图。然后把结点的名字转换为数字,把数字存在一个数组中,求这个数组中原创 2014-01-28 15:04:31 · 1791 阅读 · 0 评论 -
uva - 639 - Don't Get Rooked
类型: 暴力求解中的回溯法。 题目要求: 给你一个n,1-4,代表一个n*n的棋盘,然后输入这个棋盘,‘.’表示这个位置可以放置城堡,X表示这个位置有城墙。放在在同一行或列的城堡会相互进攻,除非他们之间有城墙。 你的任务就是输入一个棋盘,输出这个棋盘上最多可以同时存在几个城堡。 解题思路: 用回溯法去枚举,vis数组中0表示可以放置城堡,1表示这个位原创 2014-01-24 16:58:19 · 1032 阅读 · 0 评论 -
uva - 729 - The Hamming Distance Problem
题目地址 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=670 题目大意: 输入两个数H、N,H表示一个字符串的长度,该字符串由0,1组成,按字典序输出字符串包含N个1时候的各个组合。 #define Local原创 2014-01-23 17:24:22 · 740 阅读 · 0 评论 -
uva - 146 - ID Codes
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=82 分类:Brute Force 题目要求: 输入一段字符串,求出字符串按照字典序的下一个排列。例如 abc 的下一个 为 acb。 Input: 以‘#“结原创 2014-01-23 14:11:02 · 1079 阅读 · 0 评论 -
uva - 10098 - Generating Fast
题目地址: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=107&page=show_problem&problem=1039 题目大意: 同Q146,比146还要简单,按照字典序输出输入序列的所有排列。 #include #include #include原创 2014-01-23 14:48:27 · 993 阅读 · 0 评论 -
uva - Magic Numbers(枚举、位运算)
方法:暴力枚举。 AC代码:#include #include #include #include #include #include #include #include #include #include using na原创 2014-04-22 21:43:45 · 896 阅读 · 0 评论