牧场物语
来源:互联网 发布:苹果ios7是什么软件 编辑:程序博客网 时间:2024/04/27 22:58
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>typedef long long LL;using namespace std;const int N=1e2+5;const int inf=0x3f3f3f3f;int n;LL dp[N][N][N*2];LL a[N][N];int dx[2]={0,-1};int dy[2]={-1,0};int main(){while(~scanf("%d",&n)){for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) scanf("%I64d",&a[i][j]); dp[1][1][0]=a[1][1]; for(int k=1;k<=2*n-2;++k){ for(int i=1;i<=n;++i){ for(int j=1;j<=n;++j){ int x1=i,y1=k-i+2,x2=j,y2=k-j+2; if(y1<1||y1>n||y2<1||y2>n) continue; LL tmp=a[x1][y1]+a[x2][y2]; if(x1==x2&&y1==y2) tmp-=a[x1][y1]; bool flag=1; for(int k1=0;k1<2;++k1){ for(int k2=0;k2<2;++k2){ if(x1+dx[k1]<1||y1+dy[k1]<1)continue; if(x2+dx[k2]<1||y2+dy[k2]<1)continue; int k3=x1+dx[k1],k4=x2+dx[k2]; if(flag)dp[i][j][k]=dp[k3][k4][k-1]+tmp,flag=0; else dp[i][j][k]=max(dp[i][j][k],dp[k3][k4][k-1]+tmp); } } } } } printf("%I64d\n",dp[n][n][2*n-2]);}return 0;}
0 0
- 牧场物语
- 牧场物语
- 牧场物语 FZU
- 牧场物语 FZU
- Fzu 2234 牧场物语(DP)
- 《新牧场物语》攻略(转自百度)
- 双线dp ——牧场物语
- FZU 2234 牧场物语(dp 好题)
- (转)《牧场物语》制作人分享RPG设计经验
- 福州大学第十三届程序设计竞赛_重现 F 牧场物语
- fzoj 2234 牧场物语 (多线程DP&滚动数组) 好题
- FZU 2234 牧场物语【Dp】好题!好题!
- FZU 2234 牧场物语(多进程dp)
- 爱情物语
- 心情物语
- 失恋物语
- 开篇物语
- 心情物语
- hdu 4612 求边连通分量+求树的直径
- IO学习(十三)使用带可变参数的方法关闭IO流
- Search for a Range
- Execution failed for task ':app:mergeDebugResources
- Linux中执行shell脚本的4种方法总结
- 牧场物语
- C++11六大函数(构造函数,移动构造函数,移动赋值操作符,复制构造函数,赋值操作符,析构函数)
- Unity两个物体发生碰撞的条件
- redis集群搭建之二~使用redis-trib.rb方法
- Emacs 常用配置
- iOS 自定义圆角进度条
- OpenCV —数据持久化: FileStorage类的数据存取操作与示例
- 竖式问题
- SQL SERVER透视转换(行旋转列)