#2#3#4#5 TLE 求调
  • 板块P3395 路障
  • 楼主Yezi_damn
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/21 13:06
  • 上次更新2024/8/21 15:40:56
查看原帖
#2#3#4#5 TLE 求调
1426031
Yezi_damn楼主2024/8/21 13:06
#include<bits/stdc++.h>
using namespace std;
bool mp[1010][1010],flag;
int n;
const string out[2]={"No","Yes"};
const int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
bool dfs(int x,int y,int step)
{
	flag=0;
	if(x==n&&y==n) return 1;
	for(int i=0;i<4;i++)
	{
		int x1=dx[i]+x,y1=dy[i]+y;
		if(x1>n||y1>n||x1<1||y1<1||mp[x1][y1]) continue;
		mp[x1][y1]=1;
		flag|=dfs(x1,y1,step+1);
		mp[x1][y1]=0;
	}
	return flag;
}
int main()
{
	int T;
	cin>>T;
	while(T--)
	{
		cin>>n;
		for(int i=0;i<2*n-2;i++)
		{
			int x,y;
			cin>>x>>y;
			mp[x][y]=1;
		}
		cout<<out[dfs(1,1,0)]<<endl;
		memset(mp,0,sizeof(mp));
	}
}
2024/8/21 13:06
加载中...