Submission #1163545
Source Code Expand
#include <cstdio>
#include <queue>
using namespace std;
#define REP(i,n) for(int i=0; i<(int)(n); i++)
#define FOR(i,b,e) for(int i=(b); i<=(int)(e); i++)
const int INF = 100000000;
const int D[4][2] = {{-1, 0}, {0, -1}, {0, 1}, {1, 0}};
const int R_MAX = 50;
const int C_MAX = 50;
typedef pair<int, int> P;
int R, C;
int sy, sx;
int gy, gx;
char c[R_MAX][C_MAX + 1];
int d[R_MAX][C_MAX];
int bfs() {
queue<P> que;
que.push(P(sy, sx));
fill(d[0], d[R], INF);
d[sy][sx] = 0;
while (!que.empty()) {
P p = que.front(); que.pop();
int y = p.first;
int x = p.second;
if (y == gy && x == gx) break;
REP(k, 4) {
int y2 = y + D[k][0];
int x2 = x + D[k][1];
if (y2 < 0 || y2 >= R || x2 < 0 || x2 >= C) continue;
if (c[y2][x2] == '#' || d[y2][x2] < INF) continue;
que.push(P(y2, x2));
d[y2][x2] = d[y][x] + 1;
}
}
return d[gy][gx];
}
void solve() {
sy--; sx--;
gy--; gx--;
printf("%d\n", bfs());
}
void input() {
scanf("%d%d", &R, &C);
scanf("%d%d", &sy, &sx);
scanf("%d%d", &gy, &gx);
REP(i, R) scanf("%s", c[i]);
}
int main() {
input();
solve();
return 0;
}
Submission Info
Submission Time |
|
Task |
C - 幅優先探索 |
User |
nejiko96 |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1156 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Compile Error
./Main.cpp: In function ‘void input()’:
./Main.cpp:52:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &R, &C);
^
./Main.cpp:53:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &sy, &sx);
^
./Main.cpp:54:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &gy, &gx);
^
./Main.cpp:55:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
REP(i, R) scanf("%s", c[i]);
^
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 |