Submission #920953
Source Code Expand
#include<bits/stdc++.h>
#define range(i,a,b) for(int i = (a); i < (b); i++)
#define rep(i,b) for(int i = 0; i < (b); i++)
#define all(a) (a).begin(), (a).end()
#define debug(x) cout << "debug " << x << endl;
#define INF (1 << 29)
using namespace std;
const int N = 50;
struct point{ int x, y; };
int dy[4] = {0,1,0,-1}, dx[4] = {1,0,-1,0};
int bfs(bool M[N][N], int h, int w, int sy, int sx, int gy, int gx){
int dis[N][N];
queue<point> q;
rep(i,N) rep(j,N) dis[i][j] = INF;
point start_coordinate = {sx, sy};
dis[start_coordinate.y][start_coordinate.x] = 0;
q.push(start_coordinate);
point u;
while(!q.empty()){
u = q.front(); q.pop();
rep(i,4){
point next;
next.x = u.x + dx[i];
next.y = u.y + dy[i];
if(dis[next.y][next.x] == INF && M[next.y][next.x] == 0){
dis[next.y][next.x] = dis[u.y][u.x] + 1;
q.push(next);
}
}
}
return dis[gy][gx];
}
int main(){
int h, w, sy, sx, gy, gx;
bool M[N][N];
cin >> h >> w >> sy >> sx >> gy >> gx;
sy--; sx--; gy--; gx--;
rep(i,h){
rep(j,w){
char inp;
cin >> inp;
if(inp == '#') M[i][j] = 1;
else M[i][j] = 0;
}
}
cout << bfs(M, h, w, sy, sx, gy, gx) << endl;
}
Submission Info
Submission Time |
|
Task |
C - 幅優先探索 |
User |
noy72 |
Language |
C++ (G++ 4.6.4) |
Score |
100 |
Code Size |
1408 Byte |
Status |
AC |
Exec Time |
21 ms |
Memory |
1052 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 |
19 ms |
920 KB |
subtask0_sample02.txt |
AC |
20 ms |
920 KB |
subtask0_sample03.txt |
AC |
18 ms |
900 KB |
subtask1_01.txt |
AC |
18 ms |
920 KB |
subtask1_02.txt |
AC |
20 ms |
916 KB |
subtask1_03.txt |
AC |
21 ms |
1036 KB |
subtask1_04.txt |
AC |
19 ms |
912 KB |
subtask1_05.txt |
AC |
19 ms |
1048 KB |
subtask1_06.txt |
AC |
21 ms |
1048 KB |
subtask1_07.txt |
AC |
20 ms |
1048 KB |
subtask1_08.txt |
AC |
20 ms |
1048 KB |
subtask1_09.txt |
AC |
19 ms |
944 KB |
subtask1_10.txt |
AC |
20 ms |
916 KB |
subtask1_11.txt |
AC |
20 ms |
1044 KB |
subtask1_12.txt |
AC |
18 ms |
1048 KB |
subtask1_13.txt |
AC |
21 ms |
912 KB |
subtask1_14.txt |
AC |
19 ms |
1048 KB |
subtask1_15.txt |
AC |
20 ms |
916 KB |
subtask1_16.txt |
AC |
18 ms |
920 KB |
subtask1_17.txt |
AC |
20 ms |
1044 KB |
subtask1_18.txt |
AC |
20 ms |
1048 KB |
subtask1_19.txt |
AC |
19 ms |
912 KB |
subtask1_20.txt |
AC |
20 ms |
1040 KB |
subtask1_21.txt |
AC |
21 ms |
1052 KB |
subtask1_22.txt |
AC |
21 ms |
1048 KB |