Submission #3469007


Source Code Expand

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;

const int Movex[] = {0, 0, 1, -1};//移动方向数组 
const int Movey[] = {1, -1, 0, 0};
const int N = 500 + 10;//地图大小 
char Map[N][N];//存地图 
bool vis[N][N];//是否已经经过,避免死循环 
int n, m, sx, sy, ex, ey;
//n 和 m 是地图大小 sx和sy记录起点坐标 ex和ey记录终点坐标

inline void dfs(int x, int y) {//深搜核心代码 
	vis[x][y] = true;//标记已经访问过
	int prex, prey, i;
	for(i = 0 ; i < 4; i++) {//向4个方向拓展
		prex = x + Movex[i];
		prey = y + Movey[i];
		if(x == 0 || x > n || y == 0 || y > m) {//超出边界
			continue;//不能走
		}
		if(!vis[prex][prey] && Map[prex][prey] != '#') {
			//没有被访问且不是墙 
			dfs(prex, prey);//深搜
		}
	}
}

int main() {
	int i, j, k;
	cin >> n >> m;
	memset(vis, false, sizeof(vis));//初始化 
	for(i = 1; i <= n ; i++) 
	  for(j = 1; j <= m; j++) {
	  	cin >> Map[i][j];//读入地图 
		if(Map[i][j] == 's') {//如果是起点 
			sx = i;//记录起点 
			sy = j;
		}
		if(Map[i][j] == 'g') {//如果是终点 
			ex = i;//记录终点 
			ey = j;
		}
	}
	dfs(sx, sy);
	if(vis[ex][ey]) {//能到达终点
		cout << "Yes" << endl;
		return 0;
	}
	cout << "No" << endl;//不能到达终点
	return 0;
}

Submission Info

Submission Time
Task A - 深さ優先探索
User luogu_bot5
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1400 Byte
Status AC
Exec Time 23 ms
Memory 8064 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 83
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 1 ms 512 KB
00_min_02.txt AC 1 ms 512 KB
00_min_03.txt AC 1 ms 512 KB
00_min_04.txt AC 1 ms 512 KB
00_min_05.txt AC 1 ms 512 KB
00_min_06.txt AC 1 ms 512 KB
00_min_07.txt AC 1 ms 512 KB
00_min_08.txt AC 1 ms 512 KB
00_sample_01.txt AC 1 ms 512 KB
00_sample_02.txt AC 1 ms 512 KB
00_sample_03.txt AC 1 ms 512 KB
00_sample_04.txt AC 1 ms 512 KB
00_sample_05.txt AC 1 ms 512 KB
01_rnd_00.txt AC 15 ms 768 KB
01_rnd_01.txt AC 23 ms 7168 KB
01_rnd_02.txt AC 22 ms 3456 KB
01_rnd_03.txt AC 21 ms 4864 KB
01_rnd_04.txt AC 23 ms 6784 KB
01_rnd_05.txt AC 15 ms 768 KB
01_rnd_06.txt AC 21 ms 2432 KB
01_rnd_07.txt AC 23 ms 3840 KB
01_rnd_08.txt AC 15 ms 768 KB
01_rnd_09.txt AC 15 ms 768 KB
01_rnd_10.txt AC 19 ms 1152 KB
01_rnd_11.txt AC 15 ms 768 KB
01_rnd_12.txt AC 23 ms 5632 KB
01_rnd_13.txt AC 23 ms 5504 KB
01_rnd_14.txt AC 15 ms 768 KB
01_rnd_15.txt AC 20 ms 1920 KB
01_rnd_16.txt AC 15 ms 768 KB
01_rnd_17.txt AC 20 ms 1408 KB
01_rnd_18.txt AC 15 ms 768 KB
01_rnd_19.txt AC 23 ms 8064 KB
02_rndhard_00.txt AC 15 ms 768 KB
02_rndhard_01.txt AC 15 ms 768 KB
02_rndhard_02.txt AC 16 ms 768 KB
02_rndhard_03.txt AC 16 ms 768 KB
02_rndhard_04.txt AC 14 ms 768 KB
02_rndhard_05.txt AC 15 ms 768 KB
02_rndhard_06.txt AC 15 ms 768 KB
02_rndhard_07.txt AC 15 ms 768 KB
02_rndhard_08.txt AC 15 ms 768 KB
02_rndhard_09.txt AC 15 ms 768 KB
02_rndhard_10.txt AC 15 ms 768 KB
02_rndhard_11.txt AC 15 ms 768 KB
02_rndhard_12.txt AC 15 ms 768 KB
02_rndhard_13.txt AC 15 ms 768 KB
02_rndhard_14.txt AC 15 ms 768 KB
02_rndhard_15.txt AC 15 ms 768 KB
02_rndhard_16.txt AC 14 ms 768 KB
02_rndhard_17.txt AC 15 ms 768 KB
02_rndhard_18.txt AC 14 ms 768 KB
02_rndhard_19.txt AC 15 ms 768 KB
02_rndhard_20.txt AC 14 ms 768 KB
02_rndhard_21.txt AC 15 ms 768 KB
02_rndhard_22.txt AC 15 ms 768 KB
02_rndhard_23.txt AC 15 ms 768 KB
02_rndhard_24.txt AC 14 ms 768 KB
02_rndhard_25.txt AC 14 ms 768 KB
02_rndhard_26.txt AC 14 ms 768 KB
02_rndhard_27.txt AC 14 ms 768 KB
02_rndhard_28.txt AC 14 ms 768 KB
02_rndhard_29.txt AC 14 ms 768 KB
02_rndhard_30.txt AC 14 ms 768 KB
02_rndhard_31.txt AC 14 ms 768 KB
02_rndhard_32.txt AC 15 ms 768 KB
02_rndhard_33.txt AC 15 ms 768 KB
02_rndhard_34.txt AC 15 ms 768 KB
02_rndhard_35.txt AC 14 ms 768 KB
02_rndhard_36.txt AC 14 ms 768 KB
02_rndhard_37.txt AC 15 ms 768 KB
02_rndhard_38.txt AC 14 ms 768 KB
02_rndhard_39.txt AC 15 ms 768 KB
03_rndhardsmall_00.txt AC 1 ms 512 KB
03_rndhardsmall_01.txt AC 1 ms 512 KB
03_rndhardsmall_02.txt AC 1 ms 512 KB
03_rndhardsmall_03.txt AC 1 ms 512 KB
03_rndhardsmall_04.txt AC 1 ms 512 KB
03_rndhardsmall_05.txt AC 1 ms 512 KB
03_rndhardsmall_06.txt AC 1 ms 512 KB
03_rndhardsmall_07.txt AC 1 ms 512 KB
03_rndhardsmall_08.txt AC 1 ms 512 KB
03_rndhardsmall_09.txt AC 1 ms 512 KB