随笔分类 -  C/C++算法

摘要:学习笔记 1 #include 2 #include 3 4 5 void getNext(const char stringArray[]) 6 { 7 int next[100]; 8 next[0]=-1;//NEXT数组第一位设为-1; 9 int len=strlen(stringArray);10 11 int i=0,index=-1;12 //遍历子串得出NEXT数组 13 while(i<len)14 {15 //当子串没有任何匹配时或者当前字符与前缀字符相同 16 if... 阅读全文
posted @ 2014-03-25 20:48 随心随想 阅读(180) 评论(0) 推荐(0)
摘要:整数划分经典算法了,不做解释,自己做了一下,锻炼递归能力! 1 #include 2 3 int bufferArray[1000]={0};//缓存数组 4 int bufferLenth=0;//缓存数组的当前长度 5 int outputSignal=-1;//当前输出的控制信号 6 int total=0;//划分的总数 7 8 //划分整数 ,number=要划分的数字,tempNumber=划分的数字 9 void dividedInt(int number,int tempNumber)10 {11 if(number=tempNumber)14 ... 阅读全文
posted @ 2014-03-11 11:07 随心随想 阅读(856) 评论(0) 推荐(0)
摘要:给你一个n*n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上、下、左、右的元素(如果存在的话)之和均为偶数。如图所示的矩阵至少要把3个0变成1,最终如图所示,才能保证其为偶数矩阵。【输入格式】 输入的第一行为数据组数T(T 2 #include 3 /*输入测试 4 1 5 3 6 0 0 0 7 1 0 0 8 0 0 0 9 1 10 6 11 0 0 0 0 0 0 12 1 0 0 0 0 0 13 0 0 0 0 0 0 14 0 0 0 0 0 0 15 0 0 0 0 0 0 16 0 0 0 0 0 0 17 1 18 14... 阅读全文
posted @ 2014-03-10 22:10 随心随想 阅读(698) 评论(0) 推荐(1)
摘要:原本看到有道题是做在5*5下的迷宫找出最优路径,心血来潮做了个任意起点、终点,任意地图大小(只需在宏定义修改)的迷宫 1 #include 2 #include 3 4 #define MAX_lENTH 9999 //最长步数, 5 #define MAP_SIDE_LENTH 16 //地图边长大小 6 #define MAP_START_POINT (MAP_SIDE_LENTH+1) //地图起始点 7 #define CLEAR_POINT 0//可行走的点 8 #define DISORDER_POINT 3//障碍点 9 #define OU... 阅读全文
posted @ 2014-03-09 10:39 随心随想 阅读(443) 评论(0) 推荐(0)
摘要:恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。 现在已知守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不 阅读全文
posted @ 2014-03-06 22:20 随心随想 阅读(264) 评论(0) 推荐(0)
摘要:整型数组 1 #include 2 3 void fullArray(int depth,int array[],int lenth) 4 { 5 if(lenth=lenth) 7 { 8 int *p=array-depth; 9 for(int i=0;i 2 3 void fullArray(char *array,int lenth) 4 { 5 if(lenth<=0) return; 6 7 if(!*array) 8 { 9 printf("%s\n",ar... 阅读全文
posted @ 2014-02-27 22:04 随心随想 阅读(1368) 评论(0) 推荐(0)
摘要:题目描述题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。 注意:不要提交解答过程,或其它的辅助说明文字。 1 //题目描述 2 3 //题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 4 //站在... 阅读全文
posted @ 2013-11-25 22:00 随心随想 阅读(746) 评论(0) 推荐(0)
摘要:题目如下: 今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢? 程序运行时,从标准输入获得数据,其格式如下: 先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。 程序则输出n 阅读全文
posted @ 2013-03-26 20:29 随心随想 阅读(426) 评论(0) 推荐(0)