搜索 WA 11分
查看原帖
搜索 WA 11分
338614
黎明的歌声楼主2020/8/12 21:26
#include <iostream>
#include <cstring>

using namespace std;

long a[105][105],n,ans;
bool vis[105][105];
const int dx[3]={0,-1,1};
const int dy[3]={-1,0,0};

void dfs(long lx,long ly,long sum)
{
	if(ly==n-1)
	{
		if(ans<sum) ans=sum;
		return ;
	}
	for(int i=0;i<3;i++)
	{
		long nx=lx+dx[i];
		long ny=ly+dy[i];
		if(vis[nx][ny]==true)
		{
			vis[nx][ny]=false;
			dfs(nx,ny,sum+a[nx][ny]);
			vis[nx][ny]=true;
		}
	}
}

int main()
{
	cin>>n;
	memset(vis,false,sizeof(vis));
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<=i;j++)
		{
			cin>>a[i][j];
			vis[i][j]=true;
		}
	}
	dfs(0,0,0);
	cout<<ans;
	return 0;
 } 

俺地搜索哪里错,求帮助!

2020/8/12 21:26
加载中...