HDU 1081 To The Max
2015-09-14 19:30
344 查看
利用dp思想,先将横排的数字依次求后面的和才c[i][j]=c[i-1][j]+a[i-1][j]],扫描过去,最后,求矩阵和最大的那个。矩阵:c[i][k]-c[j][k];
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define N 1005 int a ; int c ; int main() { int n; while(scanf("%d",&n)!=EOF) { int i,j,k; for(i=0;i<n;i++) { for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } } memset(c,0,sizeof(c)); for(i=1;i<=n;i++) { for(j=0;j<n;j++) { c[i][j]=c[i-1][j]+a[i-1][j]; } } int M=0; for(i=1;i<=n;i++) { for(j=1;j<i;j++) { int sum=0; for(k=0;k<n;k++) { int t=c[i][k]-c[j][k]; if(sum>0) { sum+=t; } else { sum=t; } M=max(M,sum); } } } printf("%d\n",M); } return 0; }
相关文章推荐
- 关于Android中,保留小数点后两位的方式
- duilib lib库静态变量初始化问题
- 黑马程序员-------C语言----const修饰符
- python_docx
- UVa 12569:Planning mobile robot on Tree(EASY Version)(BFS)
- Unity热更新专题(七)SimpleFramework
- CORS(跨域资源共享)
- Windows Socket 编程_ 简单的服务器/客户端程序
- event.logtags
- lintcode-二叉树的中序遍历(非递归)-67
- LuckyDial抽奖转盘
- C++Primer第五版 5.3.1节练习
- Linq三种查询
- iOS远程推送(.p12转.pem方法)
- A very hard mathematic problem
- maven目录结构
- HDU5441 Travel 并查集
- maven 复制
- Java操作memcached(一)
- 顺序表ans链性表