Submission #10941758


Source Code Expand

#include<bits/stdc++.h>
#define inf ((1<<30)-1)
#define linf ((1<<62)ll-1)
#define LL long long
#define F(i,a,b,c) for(register int i=(a);(b);i=(c))
#define Fu(i,a,b) for(register int i=(a);i<=(b);++i)
#define Fd(i,a,b) for(register int i=(a);i>=(b);--i)
#define Fn(i,a) for(register int i=las[(a)];i;i=nex[i])
#define COND(c) ((c)=='.'||(c)=='#'||(c)=='s'||(c)=='g')
int Fl,Pn,SI=100;char mch='\n',ch,Bf[21];
void chin(char&c){while((c=getchar())!='.'&&c!='#'&&c!='s'&&c!='g');}
template<typename t>void in(t&a){a=0;ch=getchar();Fl=1;while((ch<'0')||(ch>'9'))Fl=(ch=='-')?-Fl:Fl,ch=getchar();while((ch>='0')&&(ch<='9'))a=a*10+ch-'0',ch=getchar();a*=Fl;}
template<typename t>void out(t a){if(a<0)putchar('-'),a=-a;if(a==0)putchar('0');while(a)Bf[++Pn]=a%10+'0',a/=10;while(Pn)putchar(Bf[Pn]),--Pn;putchar(mch);}
template<typename t,typename ...ARGS>void in(t&a,ARGS&...args){in(a);in(args...);}
template<typename t,typename ...ARGS>void out(t a,ARGS... args){out(a);out(args...);}
using namespace std;
int n,m,bis[1001][1001],dis[1001][1001],sx,sy,ex,ey;char a[1001][1001];bool b[1001][1001],d[1001][1001];
#define canwalk(x,y) ((x)>=1&&(x)<=n&&(y)>=1&&(y)<=m&&a[(x)][(y)]!='#')
struct node{int x,y,s;};
int dx[5]={0,1,-1,0,0};
int dy[5]={0,0,0,1,-1};
void dbfs(int sx,int sy,int ex,int ey)
{
	queue<node>q,p;q.push({sx,sy,0});p.push({ex,ey,0});
	b[sx][sy]=1;
	while(!q.empty()&&!p.empty())
	{
		int qx=q.front().x,qy=q.front().y,px=p.front().x,py=p.front().y,qxx,qyy,pxx,pyy;
		Fu(i,1,4)
		{
			qxx=qx+dx[i];pxx=px+dx[i];
			qyy=qy+dy[i];pyy=qy+dy[i];
			if(canwalk(qxx,qyy)&&!b[qxx][qyy])
			{
				q.push({qxx,qyy,q.front().s+1});
				b[qxx][qyy]=1;bis[qxx][qyy]=q.front().s+1;
				if(d[qxx][qyy])
				puts("Yes"),exit(0);
			}
			if(canwalk(pxx,pyy)&&!d[pxx][pyy])
			{
				p.push({pxx,pyy,p.front().s+1});
				d[pxx][pyy]=1,dis[pxx][pyy]=p.front().s+1;
				if(b[pxx][pyy])
				puts("Yes"),exit(0);
			}
		}
		q.pop();
		p.pop();
	}
	puts("No");
}
int main()
{
	in(n,m);
	Fu(i,1,n)
	Fu(j,1,m)chin(a[i][j]);
	Fu(i,1,n)Fu(j,1,m){if(a[i][j]=='s')sx=i,sy=j;if(a[i][j]=='g')ex=i,ey=j;}
	dbfs(sx,sy,ex,ey);
	return 0;
}
//BY Segment_Tree_Juruo (2020严誉沣)

Submission Info

Submission Time
Task A - 深さ優先探索
User luogu_bot5
Language C++ (GCC 5.4.1)
Score 0
Code Size 2219 Byte
Status WA
Exec Time 8 ms
Memory 8960 KB

Compile Error

./Main.cpp:14:30: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 template<typename t,typename ...ARGS>void in(t&a,ARGS&...args){in(a);in(args...);}
                              ^
./Main.cpp:14:58: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 template<typename t,typename ...ARGS>void in(t&a,ARGS&...args){in(a);in(args...);}
                                                          ^
./Main.cpp:15:30: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 template<typename t,typename ...ARGS>void out(t a,ARGS... args){out(a);out(args...);}
                              ^
./Main.cpp:15:59: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 template<typename t,typename ...ARGS>void out(t a,ARGS... args){out(a);out(args...);}
                                                           ^
./Main.cpp: In function ‘void dbfs(int, int, int, int)’:
./Main.cpp:24:24: warning: extended initializer lists only avail...

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
WA × 2
AC × 74
WA × 9
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt AC 2 ms 4352 KB
00_min_02.txt AC 2 ms 2304 KB
00_min_03.txt AC 2 ms 2304 KB
00_min_04.txt AC 2 ms 2304 KB
00_min_05.txt AC 2 ms 2304 KB
00_min_06.txt AC 2 ms 2304 KB
00_min_07.txt AC 2 ms 2304 KB
00_min_08.txt AC 2 ms 2304 KB
00_sample_01.txt AC 2 ms 4352 KB
00_sample_02.txt AC 2 ms 4352 KB
00_sample_03.txt WA 2 ms 4352 KB
00_sample_04.txt AC 2 ms 4352 KB
00_sample_05.txt WA 2 ms 4352 KB
01_rnd_00.txt AC 4 ms 2432 KB
01_rnd_01.txt AC 6 ms 8576 KB
01_rnd_02.txt AC 8 ms 8960 KB
01_rnd_03.txt AC 6 ms 6784 KB
01_rnd_04.txt AC 5 ms 4480 KB
01_rnd_05.txt AC 5 ms 4480 KB
01_rnd_06.txt WA 5 ms 6528 KB
01_rnd_07.txt WA 5 ms 6528 KB
01_rnd_08.txt AC 4 ms 2432 KB
01_rnd_09.txt AC 5 ms 4480 KB
01_rnd_10.txt AC 5 ms 6528 KB
01_rnd_11.txt AC 4 ms 2432 KB
01_rnd_12.txt AC 5 ms 6656 KB
01_rnd_13.txt AC 5 ms 4480 KB
01_rnd_14.txt AC 5 ms 4480 KB
01_rnd_15.txt AC 6 ms 6784 KB
01_rnd_16.txt AC 4 ms 2432 KB
01_rnd_17.txt WA 5 ms 6528 KB
01_rnd_18.txt AC 5 ms 4480 KB
01_rnd_19.txt AC 6 ms 6912 KB
02_rndhard_00.txt AC 5 ms 4480 KB
02_rndhard_01.txt AC 5 ms 4480 KB
02_rndhard_02.txt AC 5 ms 6528 KB
02_rndhard_03.txt AC 5 ms 6528 KB
02_rndhard_04.txt AC 5 ms 4480 KB
02_rndhard_05.txt AC 5 ms 4480 KB
02_rndhard_06.txt AC 5 ms 6528 KB
02_rndhard_07.txt AC 5 ms 6528 KB
02_rndhard_08.txt AC 5 ms 6528 KB
02_rndhard_09.txt AC 5 ms 6528 KB
02_rndhard_10.txt AC 5 ms 6528 KB
02_rndhard_11.txt AC 5 ms 6528 KB
02_rndhard_12.txt AC 5 ms 4480 KB
02_rndhard_13.txt AC 5 ms 4480 KB
02_rndhard_14.txt WA 5 ms 6528 KB
02_rndhard_15.txt WA 5 ms 6528 KB
02_rndhard_16.txt AC 5 ms 6528 KB
02_rndhard_17.txt AC 5 ms 6528 KB
02_rndhard_18.txt AC 5 ms 4480 KB
02_rndhard_19.txt AC 5 ms 4480 KB
02_rndhard_20.txt AC 5 ms 4480 KB
02_rndhard_21.txt AC 5 ms 4480 KB
02_rndhard_22.txt AC 5 ms 6528 KB
02_rndhard_23.txt AC 5 ms 6528 KB
02_rndhard_24.txt AC 5 ms 4480 KB
02_rndhard_25.txt AC 5 ms 4480 KB
02_rndhard_26.txt AC 5 ms 4480 KB
02_rndhard_27.txt AC 5 ms 4480 KB
02_rndhard_28.txt AC 5 ms 6528 KB
02_rndhard_29.txt AC 5 ms 6528 KB
02_rndhard_30.txt AC 5 ms 4480 KB
02_rndhard_31.txt AC 5 ms 4480 KB
02_rndhard_32.txt AC 5 ms 6528 KB
02_rndhard_33.txt AC 5 ms 6528 KB
02_rndhard_34.txt AC 5 ms 4480 KB
02_rndhard_35.txt AC 5 ms 4480 KB
02_rndhard_36.txt AC 5 ms 4480 KB
02_rndhard_37.txt AC 5 ms 4480 KB
02_rndhard_38.txt AC 5 ms 6528 KB
02_rndhard_39.txt AC 5 ms 6528 KB
03_rndhardsmall_00.txt AC 2 ms 4352 KB
03_rndhardsmall_01.txt AC 2 ms 2304 KB
03_rndhardsmall_02.txt AC 2 ms 4352 KB
03_rndhardsmall_03.txt AC 2 ms 4352 KB
03_rndhardsmall_04.txt AC 2 ms 2304 KB
03_rndhardsmall_05.txt AC 2 ms 2304 KB
03_rndhardsmall_06.txt AC 2 ms 4352 KB
03_rndhardsmall_07.txt AC 2 ms 4352 KB
03_rndhardsmall_08.txt WA 2 ms 4352 KB
03_rndhardsmall_09.txt WA 2 ms 4352 KB