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