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
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 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