求助
查看原帖
求助
575024
Memorialy楼主2022/7/3 19:59
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m;
ll f[1002][1002][2],a[1002][1002];
int main(){
	scanf("%lld%lld",&n,&m);
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<=m;j++){
			scanf("%lld",&a[i][j]);
		}
	}
	memset(f,128,sizeof(f));
	f[1][1][0]=a[1][1];
	for(ll i=1;i<=m;i++){
		for(ll j=1;j<=n;j++){
			if(i==1&&j==1) continue;
			f[j][i][0]=max(f[j][i-1][0],max(f[j][i-1][1],f[j-1][i][0]))+a[j][i];
		}
		for(ll j=n;j>=1;j--){
			f[j][i][1]=max(f[j][i-1][0],max(f[j][i-1][1],f[j+1][i][1]))+a[j][i];
		}
	}
	printf("%lld",f[n][m][0]);
	return 0;
}

这是某位dalao的代码,问下为什么要memset(f,128,sizeof(f);

2022/7/3 19:59
加载中...