Submission #1476695
Source Code Expand
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <cmath>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <bitset>
using namespace std;
#define FOR(I,A,B) for(int I = (A); I < (B); ++I)
typedef long long ll;
const int inf = 1e9;
typedef pair<int, int> P; // 手数、座標
int Z(int y, int x) {
return 100 * y + x;
}
int main()
{
int R, C;
cin >> R >> C;
int sx, sy, gx, gy;
cin >> sy >> sx >> gy >> gx;
sx--;sy--;gx--;gy--;
vector<string> vs(R);
FOR(i,0,R) cin >> vs[i];
int mass[R][C];
FOR(i,0,R) FOR(j,0,C) mass[i][j] = inf;
mass[sy][sx] = 0;
queue<P> Q;
Q.push(P(0, Z(sy, sx)));
int vy[4] = {-1, 0, 1, 0};
int vx[4] = {0, 1, 0, -1};
while(!Q.empty()) {
P p = Q.front();Q.pop();
int nowx = p.second % 100;
int nowy = p.second / 100;
FOR(i,0,4) {
int nexty = nowy + vy[i];
int nextx = nowx + vx[i];
if(nexty < 0 || nexty >= R || nextx < 0 || nextx >= C) continue;
if(vs[nexty][nextx]=='#') continue;
if(mass[nexty][nextx] <= p.first + 1) continue;
Q.push(P(p.first+1,Z(nexty, nextx)));
mass[nexty][nextx] = p.first + 1;
}
}
cout << mass[gy][gx] << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - 幅優先探索 |
User |
nenuon |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1361 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |