0分,目标20
查看原帖
0分,目标20
537459
villagehero楼主2025/8/1 12:40

来骗分的,目标20分,想用参数传递QWQ

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e3+2;
int n,m,a[N][N],ans;
int dfs(int x,int y)
{
//	if(x==m&&y==n)
//	{
//		return a[x][y];
//	}
	if(x+1<=m)
	{
		if(y+1<=n)
		{
			if(y-1>=1)
			{
				if(a[x+1][y]>a[x][y+1])
				{
					if(a[x+1][y]>a[x][y-1])
					{
						a[x+1][y]+=a[x][y];
						dfs(x+1,y);
					}
					else
					{
						a[x][y-1]+=a[x][y];
						dfs(x,y-1);
					}
				}
				else
				{
					if(a[x][y+1]>a[x][y-1])
					{
						a[x][y+1]+=a[x][y];
						dfs(x,y+1);
					}
					else
					{
						a[x][y-1]+=a[x][y];
						dfs(x,y-1);
					}
				}
			}
			else
			{
				if(a[x+1][y]>a[x][y+1])
				{
					a[x+1][y]+=a[x][y];
					dfs(x+1,y);
				}
				else
				{
					a[x][y+1]+=a[x][y];
					dfs(x,y+1);
				}
			}
		}
		else 
		{
			a[x+1][y]+=a[x][y];
			dfs(x+1,y);
		}
	}
	return a[m][n];
}
signed main()
{
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			scanf("%lld",&a[i][j]);
		}
	}
	cout<<dfs(1,1);
	return 0;
}
2025/8/1 12:40
加载中...