hdu1160--fatmouse.speed
摘要:动态规划题,麻烦在要输出一个最优解 代码如下: #include #include #include struct tmice{ int weight; int speed; int id; }mice[1001]; int f[1001],r[1001],b[1001]; int compare( const void * a, const void *b) { ...
阅读全文
posted @
2008-10-30 09:00
pandy
阅读(436)
推荐(0) 编辑
hdu1003--Max Sum
摘要:看过杭电课件后做的第一道动态规划题 附上代码如下: #include int main() { int t,n,num,sum,max,begin,end,temp,count,i; scanf("%d",&t); for(count=1;countmax) { max=sum; begin=temp; end=i; } } print...
阅读全文
posted @
2008-10-29 23:32
pandy
阅读(1702)
推荐(0) 编辑
hdu1290--献给杭电五十周年校庆的礼物
摘要:递推题 考虑:n个平面最多可以把空间分成几个部分 使第n个平面与前面n-1个平面都相交,且交线都不重合,那么n-1条直线最多可以把平面划分成为 n(n-1)/2+1个部分,所以f(n)=f(n-1)+n(n-1)/2 最后可以推出公式:f(n)=(n^3+5n+6)/6 源代码如下: #include int main() { int n; while(scanf("%d",&n)!=EOF...
阅读全文
posted @
2008-10-29 00:19
pandy
阅读(492)
推荐(0) 编辑
hdu1020--Encoding
摘要:简单题 代码如下: #include void process(char s[]) { int i,num; for(i=0;s[i]!='\0';i++) { num=1; while(s[i]==s[i+1]&&s[i+1]!='\0') { num++;i++; } ...
阅读全文
posted @
2008-10-24 21:25
pandy
阅读(558)
推荐(0) 编辑
hdu1019--Least Common Multiple
摘要:简单题(只需要注意一下求公倍数时先除后乘) 代码如下: #include int gcd(__int64 n,__int64 m) { if(m==0) return n; return gcd(m,n%m); } int main() { int t,n; __int64 x1,x2; scanf("%d",&t); while(t--) ...
阅读全文
posted @
2008-10-24 21:05
pandy
阅读(343)
推荐(0) 编辑
hdu1014--Uniform Generator
摘要:1.使用暴力穷举法:注意条件判断 代码如下: #include #include bool m[100001]; int main() { int mod,step,seed,num; while(scanf("%d %d",&step,&mod)!=EOF) { memset(m,0,sizeof(m));seed=0;num = 0; while(!(m[seed%mod])...
阅读全文
posted @
2008-10-24 20:51
pandy
阅读(485)
推荐(0) 编辑
pdu1012--u Calculate e
摘要:简单题 代码如下: #include int main() { int x=2,i=3; double sum = 2.5; printf("n e\n"); printf("- -----------\n0 1\n1 2\n2 2.5\n"); for(i = 3; i != 10; i++){ x*=i; sum+=1.0...
阅读全文
posted @
2008-10-24 17:59
pandy
阅读(253)
推荐(0) 编辑
hdu1049--Climbing Worm
摘要:由于输入数据规模不大,用简单模拟即可 代码如下: #include int main() { int d,u,n,x,time; while(scanf("%d %d %d",&n,&u,&d),n) { x=0;time=0; while(1) { x+=u;time++;if(x>=n) break; ...
阅读全文
posted @
2008-10-24 17:50
pandy
阅读(376)
推荐(0) 编辑
hdu--Number Sequence
摘要:总结: 找循环节点, 使用一个二维数组visited[i][j]来存放前两个数为i,j时的这个数出现的位置。 算出周期,再用一定的公式就可以解出。 代码如下: #include int main() { int a,b,n,f1,f2,f3,i,j,t,num; while(scanf("%d %d %d",&a,&b,&n),a||b||n) { f1=1;f2=1;int vis...
阅读全文
posted @
2008-10-24 17:26
pandy
阅读(532)
推荐(0) 编辑
hdu1071--The area
摘要:用到求抛物线系数公式,直线系数公式,再用简单积分来求面积。 注意: 做这类精度题目要小心 计算公式时能不用中间变量就不用, 虽然代码会明显增长,可是可以提高精度 在做这道题目时,我就花了很多时间在公式的优化上。 源代码如下: #include int main() { double p1x,p2x,p3x,p1y,p2y,p3y; double a,b,c,k,m,result,x; ...
阅读全文
posted @
2008-10-24 01:28
pandy
阅读(374)
推荐(0) 编辑
hdu1021--Fibonacci Again
摘要:简单推理题: 考虑两个数和能被3整除,这两个数有什么特点。 多算几个数,便可以找到规律,从2开始以4个循环都是3的倍数 所以写出代码如下: #include int main() { int n; while(scanf("%d",&n)!=EOF) { if(n%4==2) printf("yes\n"); else printf("no\n"); } return...
阅读全文
posted @
2008-10-24 00:33
pandy
阅读(657)
推荐(0) 编辑
hdu1170--Balloon Comes!
摘要:简单题,代码如下: #include int main() { int t,a,b; char c; scanf("%d",&t); while(t--) { getchar(); scanf("%c %d %d",&c,&a,&b); if(c=='+') printf("%d\n",a+b); else if(c=='-') printf("%d\n"...
阅读全文
posted @
2008-10-24 00:14
pandy
阅读(467)
推荐(0) 编辑
hdu1018--Big Number
摘要:主要是使用了下面这个公式: log10(n!)=log10(1*2*3…*n)=log10(1)+log10(2)+…+log10(n) 注意: 这边的result要用double值,精度比较高,我wrong了一次就因为把它设成float值了 代码如下: #include #include int main() { int n,t; double result; scanf("%d",...
阅读全文
posted @
2008-10-24 00:01
pandy
阅读(518)
推荐(0) 编辑
hdu1017--A Mathematical Curiosity
摘要:简单题:使用暴力枚举即可。。。 主要是要注意输出格式 程序代码如下: #include void process(int n,int m) { int a,b,count=0; for(a=1;a<n-1;a++) for(b=a+1;b<n;b++) { if((a*a+b*b+m)%(a*b)==0) ...
阅读全文
posted @
2008-10-23 23:35
pandy
阅读(578)
推荐(0) 编辑
hdu1016--Prime Ring Problem
摘要:406MS 12K 729 B 用深度优先搜索。 小技巧: 设置一个bool数组:将40以内所有以素数为下标的元素置1 用used数组标记深搜时元素是否访问过 用b数组记录一个解 输入时判断n是否为奇数或者1. 注意: 输出时每个解行后面没有多余的空格。 源代码如下: #in...
阅读全文
posted @
2008-10-23 22:54
pandy
阅读(644)
推荐(0) 编辑