#include<bits/stdc++.h> using namespace std; int main(){ long long n,m; cin>>n>>m; long long a[n+1][m+1]={0},b[n+1][m+1]={0},r[200]={0};

for(int i=0;i<n;i++){
	for(int j=0;j<m;j++){
		cin>>a[i][j];
	} 

b[0][0]=a[0][0]; 
for(int i=0;i<n;i++){//
	b[i][0]=b[i-1][0]+a[i][0] ;
}// 
for(int i=0;i<m;i++){// 
	b[0][i]=b[0][i-1]+a[0][i] ;
}// 
for(int i=1;i<n;i++){
	for(int j=1;j<m;j++){
		b[i][j]=a[i][j]+max(b[i-1][j],b[i][j-1]); //。 
	} 
} 
int x=n-1,y=m-1;
for(int i=0;i<n+m-1;i++){
	if(b[x-1][y]>b[x][y-1]){
		r[i]=a[x-1][y];
		x--;
	}
	else{
		r[i]=a[x][y-1];
		y--;
	}
}
for(int i=n+m-2;i>=0;i++){
	if(i!=0){
		cout<<r[i]<<"-";
	}
	else{
		cout<<r[i];
	}
}
return 0;

}

0 条评论

目前还没有评论...

信息

ID
1404
时间
1000ms
内存
256MiB
难度
6
标签
递交数
305
已通过
101
上传者