Uva108——Maximum Sum
2016-03-10 14:46
330 查看
题目的意思,求矩阵的的子矩阵的最大和。
暴力枚举行的组合,将各列数值相加,再查找最大连续和,更新最大值即可。
代码:
暴力枚举行的组合,将各列数值相加,再查找最大连续和,更新最大值即可。
代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 110; int data[maxn][maxn], n; int main() { // freopen("1.txt", "r", stdin); int i, j, k; while(cin >> n) { int Max = -0xfffffff; for(i = 0; i < n; i++) for(j = 0; j < n; j++) scanf("%d", &data[i][j]); int ans[maxn]; for(i = 0; i < n; i++) { for(j = i; j < n; j++) { memset(ans, 0, sizeof(ans)); for(k = i; k <= j; k++)//第i行到第j行相加 { for(int l = 0; l < n; l++) ans[l] += data[k][l]; } //dp更新最大值 for(k = 0; k < n; k++) { int sum = 0; for(int l = k; l < n; l++) { sum += ans[l]; Max = sum > Max ? sum : Max; } } } } cout << Max << endl; } return 0; }
相关文章推荐
- QT实现FTP服务器(二)
- SQL表自连接用法
- ios 原生推送配置
- java jersey介绍
- redis乐观锁
- inxedu因酷开源网校源码免费下载
- button上的image和title的显示
- Codeforces Round #345 (Div. 2)-A. Joysticks(模拟)
- 【数据结构课程大作业】通信录管理系统
- asp.net中什么时候用服务器控件,什么时候该用html控件
- 浅谈kernel的结构图及生成过程(转载)
- 专题实验 EXP & IMP可以实现跨平台
- python文件选择:tkFileDialog 基础
- 【数据结构课程大作业】通信录管理系统
- linux创建文件树,孩子兄弟树(或广义表),创建文件树及其訪问
- Delphi全局勾子和局部勾子
- ionic修改loading背景色
- 1059. Prime Factors (25)
- postMessage 解决窗口跨域消息传递
- 运行时错误:‘-2147217906(800400)’:书签无效的解决办法