最大长方体问题
来源:互联网 发布:apache tomcat modjk 编辑:程序博客网 时间:2024/05/01 00:54
#include "iostream"#include "algorithm"#include "iomanip"#include "fstream"using namespace std;int a[51][51][51];int m, n, p; //长方体第长、宽、高int max1(int c[], int len) //寻找一维数组最大连续子区间和{ int b = 0; int sum = 0; int i; for(i=1; i<=len; i++) { if(b> 0) b = b + c[i]; else b = c[i]; if(b > sum) sum = b; } return sum;}int max2(int c[][51], int leni, int lenj) //寻找二维数组最大连续子区间和{ int i, j, k; int sum = 0; int b[51]; int max = 0; for(i=1; i<=leni; i++) { memset(b, 0, sizeof(b)); for(j=i; j<=leni; j++) { for(k=1; k<=lenj; k++) b[k] += c[j][k]; max = max1(b, lenj); if(max > sum) sum = max; } } return sum;} int max3(int leni, int lenj, int lenk) //寻找三维数组最大连续子区间和{ int i, j, k, l; int b[51][51]; int max = 0; int sum = 0; for(i=1; i<=leni; i++) { memset(b, 0, sizeof(b)); for(j=i; j<=leni; j++) { for(k=1; k<=lenj; k++) for(l=1; l<=lenk; l++) b[k][l] += a[j][k][l]; max = max2(b, lenj, lenk); if(max > sum) sum = max; } } return sum;}int main(){ ifstream fin("长方体.txt"); cout << "输入长方体长、宽、高:"; fin >> m >> n >> p; cout << m << " " << n << " " << p; cout << "\n输入小立方体中的数:\n"; int i, j, k; for(i=1; i<=m; i++) { for(j=1; j<=n; j++) { for(k=1; k<=p; k++) { fin >> a[i][j][k]; cout << setw(3) << a[i][j][k] << " "; } cout << endl; } } cout << "最大子长方体为:" << max3(m, n, p) << endl; fin.close(); return 0;}
0 0
- 【dp】最大长方体问题
- 8601 最大长方体问题
- 最大长方体问题
- 最大长方体问题
- 最大长方体问题
- 最大长方体问题
- 3-10最大长方体问题
- 长方体
- 长方体
- 长方体
- Java技术解决 长方体体积 问题
- HDU 1069 Monkey and Banana(DP 长方体堆放问题)
- HDU 1069 Monkey and Banana(DP 长方体堆放问题)
- 【降维解法:最大字段和->最大子矩阵和->最终版最大子长方体和】【UVA10755】Garbage Heap
- 长方体类
- 长方体类
- 长方体类
- 长方体类
- Linux下配置Mysql允许远程访问详解
- 子串和子序列并不是一个意思
- Swift如何实现音乐播放,后台播放及控制。
- ActionBar自定义
- python学习笔记(6)
- 最大长方体问题
- .NET学习(三)用DataSet缓存数据库中的数据
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- hdu 2639 Bone Collector II (01背包)
- Live For What
- keil调试:局部变量地址和全局变量地址重叠
- ListView的二级菜单——doublelist
- 指针的大小到底是由谁决定?是多少?
- VC++调用libcurl的VC库使用详解