Submission #691470
Source Code Expand
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
int D[4][2] = {
{-1, 0},
{0, 1},
{1, 0},
{0, -1}
};
int R, C, sy, sx, gy, gx;
char c[51][51];
int B[50][50];
void solve() {
memset(B, -1, sizeof(B));
scanf("%d %d %d %d %d %d", &R, &C, &sy, &sx, &gy, &gx);
for (int i = 0; i < R; i++) {
for (int j = 0; j < C; j++) {
scanf(" %c", &c[i][j]);
}
}
priority_queue<pair<int, pair<int, int> >, vector<pair<int, pair<int, int> > >, greater<pair<int, pair<int, int> > > > q;
B[sy - 1][sx - 1] = 0;
q.push(make_pair(0, make_pair(sy - 1, sx - 1)));
while (!q.empty()) {
pair<int, pair<int, int> > p = q.top(); q.pop();
for (int i = 0; i < 4; i++) {
int ny = p.second.first + D[i][0];
int nx = p.second.second + D[i][1];
if (ny < 0 || ny >= R || nx < 0 || nx >= C || c[ny][nx] != '.' || B[ny][nx] != -1) continue;
B[ny][nx] = p.first + 1;
q.push(make_pair(p.first + 1, make_pair(ny, nx)));
}
}
printf("%d\n", B[gy - 1][gx - 1]);
}
int main() {
solve();
return 0;
}
Submission Info
| Submission Time |
|
| Task |
A - 幅優先探索 |
| User |
ysd |
| Language |
C++14 (GCC 5.4.1) |
| Score |
100 |
| Code Size |
1249 Byte |
| Status |
AC |
| Exec Time |
5 ms |
| Memory |
256 KiB |
Compile Error
./Main.cpp: In function ‘void solve()’:
./Main.cpp:23:59: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d %d %d %d %d", &R, &C, &sy, &sx, &gy, &gx);
^
./Main.cpp:26:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf(" %c", &c[i][j]);
^
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 |
4 ms |
256 KiB |
| subtask0_sample02.txt |
AC |
4 ms |
256 KiB |
| subtask0_sample03.txt |
AC |
5 ms |
256 KiB |
| subtask1_01.txt |
AC |
4 ms |
256 KiB |
| subtask1_02.txt |
AC |
4 ms |
256 KiB |
| subtask1_03.txt |
AC |
4 ms |
256 KiB |
| subtask1_04.txt |
AC |
5 ms |
256 KiB |
| subtask1_05.txt |
AC |
5 ms |
256 KiB |
| subtask1_06.txt |
AC |
4 ms |
256 KiB |
| subtask1_07.txt |
AC |
4 ms |
256 KiB |
| subtask1_08.txt |
AC |
4 ms |
256 KiB |
| subtask1_09.txt |
AC |
4 ms |
256 KiB |
| subtask1_10.txt |
AC |
4 ms |
256 KiB |
| subtask1_11.txt |
AC |
4 ms |
256 KiB |
| subtask1_12.txt |
AC |
4 ms |
256 KiB |
| subtask1_13.txt |
AC |
4 ms |
256 KiB |
| subtask1_14.txt |
AC |
4 ms |
256 KiB |
| subtask1_15.txt |
AC |
4 ms |
256 KiB |
| subtask1_16.txt |
AC |
4 ms |
256 KiB |
| subtask1_17.txt |
AC |
4 ms |
256 KiB |
| subtask1_18.txt |
AC |
4 ms |
256 KiB |
| subtask1_19.txt |
AC |
4 ms |
256 KiB |
| subtask1_20.txt |
AC |
4 ms |
256 KiB |
| subtask1_21.txt |
AC |
4 ms |
256 KiB |
| subtask1_22.txt |
AC |
4 ms |
256 KiB |