摘要: /** * use memory search to solve ski problem * copyright: wuzhimu * date: 2012.3.10 */#include <stdio.h>int m,n;/* * * storage the point whether cross or not * and storage cross the point max lenth */struct point { bool cross; int maxPath;};// storage point 's locationstruct direction{ int 阅读全文
posted @ 2012-03-10 23:25 jim_wu 阅读(149) 评论(0) 推荐(0)
摘要: 又是颓废了半个学期 ,对游戏还是不太能忘记,人也是喜欢玩,没有很好的管理自己的时间投入到编程里面。新年了,希望这一年能努力达成自己的目标。新年进入学校就是大三下学期了,绝对要努力了,除了保证学习外,要努力学习基本功,像编译原理,操作系统之类的,准备在这下学期对LINUX下的C编程更熟悉,用SOCKET和C写个小型的服务器和客户端,例如聊天室之类的,另外想突破百行代码的尴尬,至少要能写千行以上的项目,LinuxC编程实战里面有个BT下载器的源码,希望能从中收获些东西,并能仿照写个BT下载器,除此之外,还要学习一些常用的算法,坚决实现它,不能只是空想。最后这一年暑假准备出去实习下,增加自己对项目的 阅读全文
posted @ 2012-01-03 01:40 jim_wu 阅读(189) 评论(0) 推荐(0)
摘要: #include <stdio.h>#include <conio.h>#include <string.h>#include <stdlib.h>struct compileBlank{ char data[100];}blank[1000];char codeStr[1000];int strLen=0;int blankNum=0;int cmp(char str[],int* n)// junge whether the substring appearl in the blank // if yes and arrive the str 阅读全文
posted @ 2011-12-05 19:57 jim_wu 阅读(250) 评论(0) 推荐(0)
摘要: 最近想学习网络编程的做个聊天室小型服务器什么的,去看了LINUX网络编程 结果发现很多基础的东西还不懂 看得效率有点低 ,于是去下载了《linuxC实战编程》这本书的PDF来看,发现这本书讲的真的很好 很适合那些想学在linux下编程 的人去看 里面有C语言的基础 也涉及到了一些LINUX的相关知识,重要的是之前没学过关于进程编程的东西,里面有刚好满足了下,这本书还没看完,刚看到进程那部分,觉得写得很好所以发上来,分享下 阅读全文
posted @ 2011-10-16 14:20 jim_wu 阅读(345) 评论(0) 推荐(0)
摘要: 公式如下:S=1/2[(x1*y2-x2*y1)+(x2*y3-x3*y2)+...+(xn-1*yn-xn*yn-1)+(xn*y1-x1*yn)] 阅读全文
posted @ 2011-09-30 00:26 jim_wu 阅读(725) 评论(0) 推荐(0)
摘要: 题目描述:一个小偷抢劫了一个保险箱,发现里面装有N种大小与价值不等的物品, 但他只有一个容量为 M 的小背包来拿走这些物品,如何组织这些物品,让小偷用这个小容量背包拿走最大价值的物品。例如:5种大小与价值不等的物品, 背包容量为 17 0 1 2 3 4item A B C D Esize 3 4 7 8 9value 4 5 10 11 13那么, 这个背包可以拿走的最高总值为 24组合方式分别为:ACCDE别人写的算法,终于完全搞明白了,尽管不是自己想的。#include<stdio.h>#include<string.h>#define... 阅读全文
posted @ 2011-09-30 00:25 jim_wu 阅读(196) 评论(0) 推荐(0)
摘要: //例题 fafu1189#include<stdio.h>const int MOD=1000000007;#define N 5struct matrix{ int len; int ans[N][N];};struct matrix a,tep;void init(){ a.len=2; a.ans [0][0]=6; a.ans [0][1]=1; a.ans [1][0]=a.ans [1][1]=-1;}struct matrix matrixmult(struct matrix a,struct matrix b){ struct matrix c; c.len =2 阅读全文
posted @ 2011-09-30 00:23 jim_wu 阅读(288) 评论(0) 推荐(0)
摘要: #include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>char major[20];//存放主串字符char model[10]={0};//存放模式串字符int next[10];//存放第I个主串字符不匹配第J个模式字符时应和第几个模式串字符比较int major_num=0;//主串字符个数int model_num=0;//模式串字符个数void get_next(char model[],int next[])//求得next的值{ int i=1,j 阅读全文
posted @ 2011-09-30 00:23 jim_wu 阅读(121) 评论(0) 推荐(0)
摘要: //种子填充算法的运用之积水问题//把最外围的各个点当作边界,从边界中选出高度最低的点a(高度为h1),//把a从边界数组中删除,找到a周围的点,如果周围的点b满足没有遍历过且没有越界,进入第4行的种子填充floodfill(b,h1)//b点做上遍历了的记号,判断b的体积h是否小于h1,如果h不小于于h1,则把b当作边界,并放入边界数组中,返回第2行。否则总的积水再加上h1-h,找到b周围的点,如果周围的点c满足没有遍历过且没有越界,进入第4行的种子填充floodfill(c,h1)//对于点数量很多的可以采用堆结构//#include<stdio.h>#include<c 阅读全文
posted @ 2011-09-30 00:22 jim_wu 阅读(418) 评论(0) 推荐(0)
摘要: //求割点算法//给各个点赋值初始深度//一点前出现的都是这点的祖先,一点后出现的都是这点的子孙//从起点开始遍历,往孩子递归,//如果到了没有遍历过(也就是深度为初始化的0),递归遍历该点,并赋值深度,看孩子能否能连到父亲的前面的路径,有则给孩子改变孩子的最小深度,即连到的已遍历过的深度最小点的深度。再判断该点的最小深度是否大于或等于父亲的深度&&(父亲点是起点||父亲点不是起点&&这是父亲节点的第二个以上的孩子节点),如果是则该父亲节点是割点//到了遍历过的点,说明是到了之前已经走过的路径,这用于求最小深度。#include<stdio.h>#i 阅读全文
posted @ 2011-09-30 00:21 jim_wu 阅读(419) 评论(0) 推荐(0)