代码
文章平均质量分 60
rxiehaiyang
这个作者很懒,什么都没留下…
展开
-
软件开发大赛第10题代码
一个2*3的格子里有5个方块,ABCDE,固定的初始状态如下: |A|B|C| |D|E| | 即右下角是空的,将局面转化为字符串并将空格用*来表示,则初始状态为ABCDE*,若将C向下移动,如图 |A|B| | |D|E|C| 则编码表示为AB*DEC。 题目要求,输入字符串表示的格子状态,若其能通过初始状态经过有限的移动达到,则输出1,否则输出0; 输入数据首先是一个数字n,表原创 2012-04-07 23:13:30 · 285 阅读 · 0 评论 -
螺旋矩阵_动态规划解法
输入n,m,输出一个n行m列的螺旋数组,比如,n=3,m=5时,输出如下: 1 12 11 10 9 2 13 14 15 8 3 4 5 6 7 此题若用动态规划解,代码很短: #include #define MAX 20 int fn(int a,int b,int M,int N){/*当边长为M,N时坐标为(a,b)的位置上的数的大小*/ if(b==1||a=原创 2012-04-07 23:26:45 · 311 阅读 · 0 评论 -
竞赛第10题数学解法
题目见之前的日志。 在这之前曾经写过一道八数码的题目,所以条件反射的就想到了用BFS(广度优先搜索),其实这题这样解是弄复杂了,题目只要求判断解的存在性,是有纯数学解法的。经过研究,发现对于所有可达的状态排列(除去*号),可达状态的逆序奇偶性是相同的,而逆序奇偶性相同的状态肯定是可达的,也就是说,逆序奇偶性是可达性的充分必要条件。 代码如下: #include int main(原创 2012-04-14 10:58:11 · 664 阅读 · 0 评论