上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 这题忘了当m=-4时最终应该等于0而不是4的情况。。wa了好多次。。。代码如下:#include"stdio.h"char a[15][15];int n,m;void output(){ int i,j; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("%c",a[i][j]); printf("\n"); }}void output1(){ int i,j; for(i=1;i<=n;i++) { for(j=n;j>=1;j--) ... 阅读全文
posted @ 2012-05-05 23:51 朝圣の路 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 这是一道递推题,但是递推对我来说还比较困难,所以看了别人的代码之后发现可以用3次多项式来待定系数,挺有效了。代码如下:#include"stdio.h"int main( ){ int n; while(~scanf("%d",&n)) { printf("%d\n",(n*n*n+5*n+6)/6); } return 0;} 阅读全文
posted @ 2012-05-02 15:12 朝圣の路 阅读(277) 评论(0) 推荐(0) 编辑
摘要: if(x==n&&y==m)return 1;注意这里,前几次一直写成||的关系,其实是不对的,因为即使是在边界由于有距离的限制,所以不一定只有一条路径。 阅读全文
posted @ 2012-04-20 20:25 朝圣の路 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 记忆化搜索,别的不多说:代码如下:#include"stdio.h"#include"string.h"int dis[150][150],count[150][150],vis[150][150];int n,m;int dfs(int x,int y){ int i,j,ans=0; if(x==n&&y==m) return 1; if(vis[x][y]!=0) return count[x][y]; for(i=0;i<=dis[x][y]&&i<=n;i++) { for(j=0;j<=dis 阅读全文
posted @ 2012-04-20 20:22 朝圣の路 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 感觉这题好典型啊。。。第一点要注意的是求前N个数立方和的公式,第二点要注意输出格。一定要好好看哦。。。这个输出我还是第一次学到、、代码如下:#include"stdio.h"int main( ){ __int64 ans,n; while(~scanf("%I64d",&n)) { ans=((n*(n+1)/2)%10000)*((n*(n+1)/2)%10000)%10000; printf("%04I64d\n",ans); } return 0;} 阅读全文
posted @ 2012-04-20 01:27 朝圣の路 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 唉,直到今天我才把这题的题意读明白,也不知道出题人是怎么出题的,把一道小题出的这么难以理解真是蛋疼,别的不多说,就是输入的数据可以理解为每个硬币的理论概率。然后随机随机抽取硬币问是否能使正面的概率和反面的概率相等。代码如下:#include"stdio.h"int main( ){ int x1,y1,x2,y2,x3,y3; int t,count=1,num; scanf("%d",&t); while(t--) { num=0; scanf("%d%d%d%d%d%d",&x1,&y1,&x2,& 阅读全文
posted @ 2012-04-16 22:41 朝圣の路 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 这题不能用dp啊,真是蛋疼。#include"stdio.h"int a[1005],sum[1005],s[1005];int cal(int x){ return x>0?x:-x;}int main( ){ int t,n,i,min,j,sum,count=1; scanf("%d",&t); while(t--) { scanf("%d",&n); min=0xffffff; sum=0; for(i=1;i<=n;i++) scanf("%d",&a[i]); ... 阅读全文
posted @ 2012-04-16 17:20 朝圣の路 阅读(114) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4217这题是在比赛的过程中完成的,是一道线段树问题,我当时写了好久,感觉跟普通的线段树不一样,因为本来自己对线段树的理解就不是很透彻,所以写起来很困难,不过我最后还是把这个问题解决了,使自己对线段树的理解又加深了一层。代码如下:#include"stdio.h"__int64 sum;struct ln{ int left,right,num;}nod[800000];void create(int u,int l,int r){ int mid; nod[u].left=l;nod[u] 阅读全文
posted @ 2012-04-15 22:34 朝圣の路 阅读(180) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4221还是读题的问题,第一遍读题时,没太明白,以为是求最小的总得罚款数。但是第二组simple对不上,所以又重读一遍题,原来是求每任务让最大罚款尽可能的小,这样的话就很明了了,通过依次排序,就得到结果了。对了,还要注意这题int型装不下,要用——int64.代码如下:#include"stdio.h"#include"stdlib.h"typedef struct course{ int c,d;}node;int cmp(const void *a,const voi 阅读全文
posted @ 2012-04-15 22:30 朝圣の路 阅读(105) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4218恩。。。这题当时比赛的时候题意弄得稀里糊涂,不过赛后好好研究一下还是把题意弄得差不多了,其实这题没是用什么算法,只是简单的判断距离。不过这题在输出时的空格上不符合常理的降低了难度,允许输出后面的空格,刚开始不知道就PE了N次,不过最后多次改动之后终于过了。代码如下:#include"stdio.h"#include"string.h"int main( ){ int t,r,i,j,min,count=1; int a[50][50],num[50]; scanf 阅读全文
posted @ 2012-04-15 22:26 朝圣の路 阅读(95) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页