雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年3月23日

摘要: dp[i]=min(dp[i],dp[j]+dp[i-j]+m)//dp [i]里放着i只牛渡河最少时间View Code #include<stdio.h>int dp[2509];int a[2509];int min(int a,int b){ return a>b?b:a;}int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int i,add=0; for(i=1;i<=n;i++) { int temp; scanf("%d",&temp 阅读全文

posted @ 2011-03-23 22:23 huhuuu 阅读(361) 评论(0) 推荐(0) 编辑

摘要: dp[i][j][k]记录在i,j格子里,剩下k步可以到达终点的路径条数View Code #include<stdio.h>#include<iostream>#include<math.h>using namespace std;bool map[109][109];int fa,fb,ea,eb,add;int f[4][2]={0,-1,-1,0,0,1,1,0};int dp[109][109][19];int n,m,all;int dfs(int a,int b,int step){ if(dp[a][b][step]!=-1)return d 阅读全文

posted @ 2011-03-23 20:48 huhuuu 阅读(402) 评论(0) 推荐(0) 编辑

摘要: 无限RE后,换了个oj提交,AC了DFS搜索的关键是,找到下一步的方向,与准确的回朔View Code #include<stdio.h>int map[129][129];int Max,n;int f[4][2]={{0,-1},{-1,0},{0,1},{1,0}};void dfs(int a,int b,int step){ if(step>Max) Max=step; int sa,sb,i,j; for(i=0;i<=3;i++) { sa=a+f[i][0]; sb=b+f[i][1]; int ta=sa,tb=sb,sstep=step; if(ta 阅读全文

posted @ 2011-03-23 16:03 huhuuu 阅读(249) 评论(0) 推荐(0) 编辑