FZU 2092 收集水晶 (记忆化搜索)
来源:互联网 发布:java菜单权限设计 编辑:程序博客网 时间:2024/05/22 17:36
题目链接
记录下dfs的参数状态,dfs表示在t时刻,一个在x1,y1,一个在x2,y2可以收集的最大的水晶数量
#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<vector>#include<queue>#include<iostream>using namespace std;#define LL __int64#define cl(a,b) memset(a,b,sizeof(a))#define pb push_backconst int maxn = 11;const int inf = 1<<28;const __int64 mod = 1000000007;char a[15][15];int val[205][15][15];int n,m;int dp[205][maxn][maxn][maxn][maxn];int check(int x,int y){ if(x<0||x>=n||y<0||y>=m||a[x][y]=='#')return false; return true;}int dir[][2]={-1,0,0,-1,0,0,1,0,0,1};int MaxTime;int dfs(int tm,int x1,int y1,int x2,int y2){ if(tm>MaxTime)return 0; if(dp[tm][x1][y1][x2][y2]!=-1)return dp[tm][x1][y1][x2][y2]; int &ans=dp[tm][x1][y1][x2][y2]; for(int i=0;i<5;i++){ int xx=dir[i][0]+x1; int yy=dir[i][1]+y1; if(check(xx,yy)==false)continue; for(int j=0;j<5;j++){ int x=dir[j][0]+x2; int y=dir[j][1]+y2; if(check(x,y)==false)continue; ans=max(ans,dfs(tm+1,xx,yy,x,y)); } } if(x1==x2&&y1==y2)ans+=val[tm][x1][y1]; else ans+=val[tm][x1][y1]+val[tm][x2][y2]; return ans;}int main(){ int T;scanf("%d",&T); while(T--){ scanf("%d%d",&n,&m); for(int i=0;i<n;i++){ scanf("%s",a[i]); } int q;scanf("%d",&q); cl(val,0); MaxTime=0; while(q--){ int t,x,y,v;scanf("%d%d%d%d",&t,&x,&y,&v);x--;y--; val[t][x][y]+=v; MaxTime=max(MaxTime,t); } cl(dp,-1); printf("%d\n",dfs(0,0,0,0,0)); } return 0;}
0 0
- FZU 2092 收集水晶(记忆化搜索)
- [ACM] FZU 2092 收集水晶 (DFS,记忆化搜索)
- [ACM] FZU 2092 收集水晶 (DFS,记忆化搜索)
- FZU 2092 收集水晶 (记忆化搜索)
- FZU 2092 收集水晶 (DFS, 记忆化搜索)
- fzu 2092 收集水晶(记忆化搜索(dp),dfs)(也可以用bfs)
- fzu2092收集水晶 记忆化搜索
- FZU 2092 收集水晶
- Fzu 2092 收集水晶【Dp】
- FZU 2092 记忆化搜索 || BFS
- FZU 2156(记忆化搜索)
- FZU Problem 1919 K-way Merging sort(大数+记忆化搜索)
- fzu 2109 Mountain Number 数位DP 记忆化搜索
- FOJ/FZU/FZOJ 1550Monetary System【记忆化搜索】
- FOJ 2092 收集水晶
- hdu_p1078(记忆化搜索)
- WOJ(记忆化搜索)
- 滑雪 (记忆化搜索)
- 使用cocoapods import头文件导入不提示解决方法
- (cosψ)的三次方怎么积分
- LeetCode 2.Add Two Numbers
- Oracle-17-数据字典查看约束信息
- Supervisor重新加载配置启动新的进程
- FZU 2092 收集水晶 (记忆化搜索)
- 苹果原生二维码在iOS7上的那些坑
- tab 界面展示多选单选过滤条件组成
- 关于sql 语句的一些总结
- ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法
- 如何获取Android唯一标识(唯一序列号)
- 码农小汪-设计模式之-简单工厂模式 单一职责原则 重用代码
- 随意输入若干数字,求和
- bzoj 4444: [Scoi2015]国旗计划