Submission #691649


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <queue>
#include <tuple>
#include <utility>

const int TOO_BIG = 123456;
int R, C, sy, sx, gy, gx;
char **c;
int **s;

int find(std::queue< std::tuple<int, int, int> > sque) {
	std::tuple<int, int, int> next = sque.front();
	sque.pop();
	int y = std::get<0>(next);
	int x = std::get<1>(next);
	int score = std::get<2>(next);
	if (y == gy && x == gx)
	{
		return score;
	}
	++score;
	for (int j = (j>0?y-1:y); j <= (j<R-1?y+1:y); ++j)
	{
		for (int i = (i>0?x-1:x); i <= (i<C?x+1:x); ++i)
		{
			if (j != y && i != x) {
				continue;
			}
			if (c[j][i] == '.')
			{
				if (s[j][i] > score)
				{
					s[j][i] = score;
					sque.push(std::tuple<int, int, int>(j, i, score));
				}
			}
		}
	}
	--score;
	return find(sque);
}

int main(void)
{
	std::cin >> R >> C >> sy >> sx >> gy >> gx;
	--sy; --sx; --gy; --gx;
	c = new char*[R];
	s = new int*[R];
	for (int i = 0; i < R; ++i)
	{
		c[i] = new char[C];
		s[i] = new int[C];
		for (int j = 0; j < C; ++j)
		{
			s[i][j] = TOO_BIG;
			std::cin >> c[i][j];
		}
	}

	std::queue< std::tuple<int, int, int> > search;
	search.push(std::tuple<int, int, int>(sy, sx, 0));
	s[sy][sx] = 0;
	std::cout << find(search) << std::endl;

	return 0;
}

Submission Info

Submission Time
Task A - 幅優先探索
User L3Sota
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1317 Byte
Status RE
Exec Time 529 ms
Memory 2432 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 1
RE × 2
AC × 8
RE × 17
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
All subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt RE 529 ms 256 KB
subtask0_sample02.txt RE 191 ms 256 KB
subtask0_sample03.txt AC 8 ms 2304 KB
subtask1_01.txt RE 190 ms 256 KB
subtask1_02.txt RE 194 ms 256 KB
subtask1_03.txt AC 5 ms 768 KB
subtask1_04.txt AC 8 ms 2432 KB
subtask1_05.txt AC 6 ms 1280 KB
subtask1_06.txt RE 193 ms 256 KB
subtask1_07.txt AC 4 ms 256 KB
subtask1_08.txt RE 193 ms 256 KB
subtask1_09.txt RE 197 ms 384 KB
subtask1_10.txt RE 189 ms 256 KB
subtask1_11.txt AC 9 ms 2304 KB
subtask1_12.txt AC 5 ms 512 KB
subtask1_13.txt RE 194 ms 384 KB
subtask1_14.txt RE 193 ms 256 KB
subtask1_15.txt RE 189 ms 256 KB
subtask1_16.txt RE 191 ms 256 KB
subtask1_17.txt AC 6 ms 1280 KB
subtask1_18.txt RE 188 ms 512 KB
subtask1_19.txt RE 189 ms 256 KB
subtask1_20.txt RE 193 ms 256 KB
subtask1_21.txt RE 189 ms 256 KB
subtask1_22.txt RE 205 ms 256 KB