Submission #11591410


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

int main(){
    int r, l;
    int sy, sx;
    int gy, gx;
    cin >> r >> l >> sy >> sx >> gy >> gx;
    vector<vector<char>> c;
    vector<vector<int>> check;
    c.resize(r, vector<char> (l));
    check.resize(r, vector<int> (l));
    
    queue<int> yque;
    queue<int> xque;

    yque.push(sy - 1);
    xque.push(sx - 1);

    int y, x;

    for(int i = 0; i < r; i++){
        for(int j = 0; j < l; j++){
            cin >> c.at(i).at(j);
            check.at(i).at(j) = -1;
        }
    }
    check.at(sy - 1).at(sx - 1) = 0;


    while(!(yque.empty())){
        y = yque.front();
        x = xque.front();
        //cout << yque.front() << endl;

        if(y + 1 != 0 && y + 1 != r - 1 && x != 0 && x != l - 1 && c.at(y + 1).at(x) != '#' && check.at(y + 1).at(x) == -1){
            yque.push(y + 1);
            xque.push(x);
            check.at(y + 1).at(x) = check.at(y).at(x) + 1;
        }
        if(y - 1 != 0 && y - 1 != r - 1 && x != 0 && x != l - 1 && c.at(y - 1).at(x) != '#' && check.at(y - 1).at(x) == -1){
            yque.push(y - 1);
            xque.push(x);
            check.at(y - 1).at(x) = check.at(y).at(x) + 1;
        }
        if(y != 0 && y != r - 1 && x + 1 != 0 && x + 1 != l - 1 && c.at(y).at(x + 1) != '#' && check.at(y).at(x + 1) == -1){
            yque.push(y);
            xque.push(x + 1);
            check.at(y).at(x + 1) = check.at(y).at(x) + 1;
        }
        if(y != 0 && y != r - 1 && x  - 1 != 0 && x - 1 != l - 1 && c.at(y).at(x - 1) != '#' && check.at(y).at(x - 1) == -1){
            yque.push(y);
            xque.push(x - 1);
            check.at(y).at(x - 1) = check.at(y).at(x) + 1;
        }

        yque.pop();
        xque.pop();
    }

    /*for(int i = 0; i < r; i++){
        for(int j = 0; j < l; j++){
            //cin >> c.at(i).at(j);
            cout << check.at(i).at(j) << " ";
        }
        cout << "" << endl;
    }*/

    cout << check.at(gy - 1).at(gx - 1) << endl;
}

Submission Info

Submission Time
Task A - 幅優先探索
User uirou315
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2073 Byte
Status AC
Exec Time 1 ms
Memory 256 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 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