import java.awt.Scrollbar;
import java.util.Scanner;
public class Test3 {
/**
* 最大子长方体问题
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[][][]=new int [50][50][50];
int m,n,p;
Scanner sc = new Scanner(System.in);
System.out.print("请输入立方体的长m,宽n,高p为:");
String str=sc.next();
m=Integer.parseInt(str.split(",")[0]);
n = Integer.parseInt(str.split(",")[1]);
p = Integer.parseInt(str.split(",")[2]);
sc=new Scanner(System.in);
System.out.println("m*n行中每行的p个正整数为:");
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
for(int k=0;k<p;k++)
a[i][j][k]=Integer.parseInt(sc.next());
System.out.println("所给立方体的最大子长方体为:");
System.out.println(MaxSum3(a,m,n,p));
}
static int max(int i,int j)
{
if(i>=j)
return i;
else
return j;
}
static int MaxSum(int []a,int n) //一维
{
int sum=0;
int []b=new int[50];
b[0]=a[0];
for(int i=1;i<n;i++)
{
b[i]=max(b[i-1]+a[i],a[i]);
if(b[i]>sum)
sum=b[i];
}
return sum;
}
static int MaxSum2(int a[][],int m,int n) //二维M*N的矩阵
{
int sum=0;
int []b=new int[50];
int k=0;
for(int i=0;i<m;i++)
{
for(k=0;k<n;k++)
b[k]=0;
for(int j=i;j<m;j++)
{
for(k=0;k<n;k++)
b[k]+=a[j][k];
sum=max(sum,MaxSum(b,n));
}
}
return sum;
}
static int MaxSum3(int a[][][],int m,int n,int p)
{
int sum=0;
int [][]b=new int [50][50];
int k,i,j,z,x;
for(i=0;i<p;i++)
{
for(z=0;z<m;z++)
for(x=0;x<n;x++)
b[z][x]=0; //初使化
for( j=i;j<p;j++)
{
for(z=0;z<m;z++)
for(x=0;x<n;x++)
b[z][x]+=a[z][x][j];
sum=max(sum,MaxSum2(b,m,n));
}
}
return sum;
}
}

fackquan
- 粉丝: 12
最新资源
- 一全自动洗衣机PLC控制系统设计方案7.doc
- 单片机与接口技术课程设计报告.doc
- 以就业为导向的中职计算机教育教学实践探究.docx
- 第14章-预埋件埋设.docx
- Vail经典层序占80%(10页).doc
- 职业学院计算机教育更要注重实践能力.docx
- [苏州]现代低密住宅社区规划设计方案文本.ppt
- 刘一网络会所项目可研技术方案.doc
- 宽带光纤互联网信息生活网络工程PPT【精选模板】.ppt
- 基于JSP技术的博客方案与实现.doc
- 工程地质勘察委托书(A3).doc
- 中班科学:蛋和蛋制品.doc
- 龙湖的别墅创作.ppt
- 2钢结构构件制作.doc
- 钢筋课程讲解(其他).ppt
- 操作系统课程设计——用多线程同步方法解决生产者.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


