
算法
尹傲雄
这个作者很懒,什么都没留下…
展开
-
周期串(Periodic Strings,UVa455)
最近在学习开始学习算法,现在看的是刘汝佳的《算法竞赛入门》,感觉还是有必要把一些有问题题目记录下来。另外其他的代码都同步到了gitbub上的仓库了,可能不是最好的,不过都被在uva上ac了。欢迎感兴趣的朋友一起交流,小白一只。贴一下网址:https://github.com/YinAoXiong/Algorithmic-exercises,(全部都是用vs2015写的工程文件,源文件在dbug目录中原创 2017-03-07 23:33:47 · 884 阅读 · 0 评论 -
谜题(Puzzle UVa227)
刚看的这个题目的时候感觉挺简单的(事实也是如此),自己的想法就是用一个二维的字符数组储存方格,然后用一个swich来判断不同的命令就可以了。思路很简单但是写起来居然花了我这么多时间。 这题的难点主要在于字符的输入和输出,如果这两个事情处理好了基本上就没有什么问题了。 我遇到的问题如下: 除了超出方格范围的命令外,遇到ABLR之外的命令也为非法命令 命令可能不在同一行,所以不能用字符原创 2017-03-10 12:32:24 · 533 阅读 · 0 评论 -
纵横字谜的答案(Crossword Answers UVa232)
做到这个题目的时候发现和前面的那个题目非常的像,都是字符都是表格。依然是用一个二维字符数组,储存表格的状况,然后进行搜索判断。 先写一下我犯的错误吧,读者看到我犯过的错误之后说不定就找到自己的方法了呢。毕竟题目还是要自己想出来的比较好。 1. 错误的认为字符字串前的数字是第几个字母 2. 错误的使用对行处理的方法处理列,字串乱序输出 遇到的问题: 1. 找不到字符原创 2017-03-11 20:13:46 · 823 阅读 · 0 评论 -
象棋 UVa1589
看到这个题目基本的想法是,将黑将能走的四个方向都遍历一遍,然后再判断判断红方能否吃掉它。如果所有可能的走向都会被将死,则黑将被将死。需要注意越界,吃子,和马被别脚的情况。附上一张自己画的一张简图可能会清楚一些: 下面贴一下代码,更详细的解释在代码的注释里,代码有点冗长,有能力的可以把相同的地方写成函数(比如说帅和车的判断是可以放一起的) #include #include usin原创 2017-03-27 12:45:16 · 858 阅读 · 0 评论 -
正方形(squares,UVa201)
这个题目思路还是比较简单的,两个数组储存行和列的情况。然后再遍历各个顶点的情况就可以了。其他的见源码中的注释。原创 2017-04-06 09:38:19 · 428 阅读 · 0 评论 -
CodeForces - 803C Maximal GCD(贪心)
刚开始一直没有看懂这个题目的意思,看了很久才明白。题目的意思就是给你两个数n和k,然后让你干下面这些事情。 1. 构造一个k位严格递增的序列。 2. 序列和为n 3. 同时使得这个序列的最大公约数最大、 这题毕竟关键的就是求这个最大公约数q,因为序列和为n,也就是q*(1+2+3+……k-1+k)<=n。显然q也是n的一个因数,通过这样的方法就可以求得最大共约数了,不过要注意如果直接遍历原创 2017-08-14 23:14:28 · 324 阅读 · 0 评论 -
八数码问题的A*算法求解
A*算法是启发式搜素算法中较为出名和高效的算法之一,其关键是对于启发式函数的实际,启发式函数h(x)需要尽可能的接近实际的h(x)∗h(x)∗h(x)^*。下面是人工智能八数码问题使用A*算法求解的源码放在博客上记录一下。程序使用放错位置的棋子的个数作为启发式函数。 #include <iostream> #include <vector> #include <...原创 2018-05-12 00:30:35 · 2766 阅读 · 0 评论