0,求救,样例都过不了
查看原帖
0,求救,样例都过不了
251632
LANQINHAN楼主2021/4/1 14:12
#include<iostream>//To be continued
#include<cstdio>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<string>
#include<fstream>
#include<algorithm>
#include<cctype>
#include<bits/stdc++.h>
using namespace std;
int n;
int m;
int a[1000][1000];
int f[1000][1000][1];
int main() {
	cin>>n>>m;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=m; j++) {
			cin>>a[i][j];
			f[i][j][1]=-10000000;
			f[i][j][0]=-10000000;
		}
	}
	f[1][1][0]=a[1][1];
	f[1][1][1]=a[1][1];
	for(int j=1; j<=m; j++) {
		for(int i=1; i<=n; i++) {
			if(j!=m) {
				f[i][j][0]=max(f[i][j][0],max(f[i][j+1][0],f[i][j+1][1])+a[i][j]);
				f[i][j][1]=max(f[i][j][1],max(f[i][j+1][0],f[i][j+1][1])+a[i][j]);
			}
			if(i!=1) {
				f[i][j][0]=max(f[i][j][0],f[i-1][j][0]+a[i][j]);//up
			}
			for(int i=n; i>=1; i--) {
				if(i!=n) {
					f[i][j][1]=max(f[i][j][1],f[i+1][j][1]+a[i][j]);//down
				}
			}
		}
	}
	cout<<max(f[n][m][0],f[n][m][1]);
	return 0;
}

求救,帮忙调一下

2021/4/1 14:12
加载中...