15分求助
查看原帖
15分求助
552951
LeisurexiaoWAY楼主2022/8/24 20:26
#include <bits/stdc++.h>
using namespace std;
int n,m;
int a[1005][1005];
int f[1005][1005];
bool flag[1005][1005];
int main()
{
//	memset(flag,0,sizeof(flag));
	 cin>>n>>m;
	 for(int i=1;i<=n;i++)
	 	for(int j=1;j<=m;j++)
	 		cin>>a[i][j];
	 f[1][1]=a[1][1];
	 for(int i=1;i<=n;i++)
	 {
	 	for(int j=1;j<=m;j++)
	 	{
	 		int tmp;
	 		if(flag[i][j])
	 			continue;
	 		if(i==n)
	 		{
//	 			cout<<"============"<<endl;
	 			tmp=max(f[i][j-1],f[i-1][j]);
	 			f[i][j]=tmp+a[i][j];
	 			flag[i][j]=true;
	 			continue;
	 		}
	 		tmp=max(f[i][j-1],max(f[i+1][j],f[i-1][j]));
	 		f[i][j]=tmp+a[i][j];
	 		flag[i][j]=true;
	 	}
	 }
	 cout<<f[n][m]<<endl;
	return 0;
}
2022/8/24 20:26
加载中...