为什么输出了好大的数
查看原帖
为什么输出了好大的数
922691
Hisy楼主2023/8/30 19:23
#include "cstdio"
#include "cstring"
#define forward(count,first,last) for(int count=first;count<=last;++count)
#define max(cmp1,cmp2) ((cmp1)>(cmp2)?(cmp1):(cmp2))
#define leastinteger() -2147483648 
void countlist(int maxn,int *plan,int *temp,int &answer){
	forward(iter,1,maxn){
		plan[iter]=max(plan[iter],plan[iter-1]+temp[iter]);
		answer=max(answer,plan[iter]);
	};
};
void countmap(int maxn,int *temp,int **matrix,int *plan,int &answer){
	forward(iter,1,maxn){
		delete []temp;
		temp=new int[maxn+1];
		forward(row,iter,maxn){
			forward(col,1,maxn){
				temp[col]+=matrix[row][col];
			};
			countlist(maxn,plan,temp,answer);
		};
	};
};
int main(int argc,char **argv){
	int maxn;
	int *plan,*temp;
	int **matrix;
	int answer=leastinteger();
	scanf("%d",&maxn);
	plan=temp=new int[maxn+1];
	matrix=new int*[maxn+1];
	forward(row,1,maxn){
		matrix[row]=new int[maxn+1];
		forward(col,1,maxn){
			scanf("%d",&matrix[row][col]);
		};
	};
	countmap(maxn,temp,matrix,plan,answer);
	printf("%d",answer);
	return 0;
};
2023/8/30 19:23
加载中...