样例都过不了!!
查看原帖
样例都过不了!!
772284
Justskr楼主2024/12/8 15:24

玄关求调。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
#define dbug(x) (void)(cerr << #x " = " << x << endl)
ll n,m;
ll a[10086][10086];
ll w[10086][10086];
ll sum;

int main(){
	//ios::sync_with_stdio(false);
	//cin.tie(0),cout.tie(0);
	
	cin >> n >> m;
	
	for(ll i = 1;i <= n;i++){
		for(ll j = 1;j <= m;j++){
			cin >> a[i][j];
		}
	}
	for(ll i = 1;i <= n;i++){
		w[i][1] = w[i-1][1] + a[i][1];
	}
//	for(ll i = 1;i <= n;i++){
//		w[i][m] = w[i-1][m] + a[i][m];
//	}
	for(ll i = 2;i <= m;i++){//循环第几行
		//从上往下
		for(ll j = 1;j <= n;j++){
			w[j][i] = max(w[j][i-1],w[max(j-1,(ll)1)][i]) + a[j][i];
		}
		//从下往上
		for(ll j = n;j >= 1;j--){
			w[j][i] = max({w[j][i-1],w[min(j+1,n)][i],w[j][i]-a[j][i]})+a[j][i];
		}
	}
	for(ll i = 1;i <= n;i++){
		for(ll j = 1;j <= m;j++){
			cout << w[i][j] << " ";
		}
		cout << endl;
	}
	cout << w[n][m];
	return 0;
}
2024/12/8 15:24
加载中...