Submission #3779113


Source Code Expand

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define REPO(i, n) for(int i = 1;i <= n;i++)
#define ll long long
#define INF 999999999
#define MINF -999999999

int main() {
	int h, w, s1, s2, g1, g2,ans,now = 0;
	int b[60][60] = {};
	char a[60][60];
	cin >> h >> w >> s1 >> s2 >> g1 >> g2;
	REPO(i, h) REPO(j, w) cin >> a[i][j];
	if (a[s1 - 1][s2] == '.') b[s1 - 1][s2]++;
	if (a[s1 + 1][s2] == '.') b[s1 + 1][s2]++;
	if (a[s1][s2 + 1] == '.') b[s1][s2 + 1]++;
	if (a[s1][s2 - 1] == '.') b[s1][s2 - 1]++;
	for (ans = 1; ans < INF; ans++) {
		REPO(i, h) {
			REPO(j, w) {
				if (b[i][j] == ans) {
					if (a[i - 1][j] == '.') b[i - 1][j] = ans + 1;
					if (a[i + 1][j] == '.') b[i + 1][j] = ans + 1;
					if (a[i][j + 1] == '.') b[i][j + 1] = ans + 1;
					if (a[i][j - 1] == '.') b[i][j - 1] = ans + 1;
				}
			}
		}
		if (b[g1][g2] == ans) break;
	}
	cout << ans << endl;

}

Submission Info

Submission Time
Task C - 幅優先探索
User kenken714
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1086 Byte
Status AC
Exec Time 5 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 25
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 AC 1 ms 256 KB
subtask0_sample02.txt AC 1 ms 256 KB
subtask0_sample03.txt AC 2 ms 256 KB
subtask1_01.txt AC 5 ms 256 KB
subtask1_02.txt AC 5 ms 256 KB
subtask1_03.txt AC 2 ms 256 KB
subtask1_04.txt AC 2 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 2 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 2 ms 256 KB
subtask1_09.txt AC 2 ms 256 KB
subtask1_10.txt AC 2 ms 256 KB
subtask1_11.txt AC 2 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 2 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask1_15.txt AC 2 ms 256 KB
subtask1_16.txt AC 2 ms 256 KB
subtask1_17.txt AC 2 ms 256 KB
subtask1_18.txt AC 2 ms 256 KB
subtask1_19.txt AC 2 ms 256 KB
subtask1_20.txt AC 3 ms 256 KB
subtask1_21.txt AC 4 ms 256 KB
subtask1_22.txt AC 4 ms 256 KB