Submission #1202207


Source Code Expand

#define MYDEBUG
#include <iostream>
#include <vector>
#include <cstring>
#include <string>
#include <algorithm>
#include <math.h>
#include <queue>

#ifdef MYDEBUG
#define debug(x) cout<<#x<<": "<<x<<endl
#else
#define debug(x)
#endif
#define ll long long
#define ull unsigned long long
#define eps 1e-14
#define all(x) x.begin(), x.end()
using namespace std;

template<typename T>
ostream& operator<<(ostream& out, const vector<T>& v) {
  out << "[";
  size_t last = v.size() - 1;
  for (size_t i = 0; i < v.size(); ++i) {
    out << v[i];
    if (i != last)
      out << ",";
  }
  out << "]";
  return out;
}

int di[] = {-1,0,1,0};
int dj[] = {0,1,0,-1};
int main() {
	queue<int> qi,qj;
	int r,c;
	cin >> r >> c;
	int si,sj,gi,gj;
	cin >> si >> sj >> gi >> gj;
	char grid[r+1][c+1];
	int cnt[r+1][c+1];
	for(int i=1; i<=r; ++i){
		string s;
		cin >> s;
		for(int j=1; j<=c; ++j){
			grid[i][j] = s.at(j-1);
			cnt[i][j]=0;
		}
	}
	qi.push(si);
	qj.push(sj);
	while(!qi.empty()){
		int ni = qi.front(), nj = qj.front();
		qi.pop(); qj.pop();
		for(int k=0; k<4; ++k){
			int mvi = ni+di[k], mvj = nj+dj[k];
			if(1<=mvi&&mvi<=r&&1<=mvj&&mvj<=c
			&&grid[mvi][mvj]=='.'&&cnt[mvi][mvj]==0){
				cnt[mvi][mvj]=cnt[ni][nj]+1;
				qi.push(mvi); qj.push(mvj);
			}
		}
	}
	cout << cnt[gi][gj] << endl;
}

Submission Info

Submission Time
Task C - 幅優先探索
User LitMc
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1367 Byte
Status AC
Exec Time 1 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 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt AC 1 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask1_15.txt AC 1 ms 256 KB
subtask1_16.txt AC 1 ms 256 KB
subtask1_17.txt AC 1 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 1 ms 256 KB
subtask1_21.txt AC 1 ms 256 KB
subtask1_22.txt AC 1 ms 256 KB