提出 #691302


ソースコード 拡げる

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <numeric>
#include <functional>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <sstream>
#include <string>
#define repd(i,a,b) for (int i=(int)(a);i<(int)(b);i++)
#define rep(i,n) repd(i,0,n)
#define all(x) (x).begin(),(x).end()
#define mod 1000000007
#define inf 2000000007
#define mp make_pair
#define pb push_back
typedef long long ll;
using namespace std;
template <typename T>
inline void output(T a, int p) {
    if(p) cout << fixed << setprecision(p)  << a << "\n";
    else cout << a << "\n";
}
// end of template
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};

int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    // source code
    int R, C, sy, sx, gy, gx;
    cin >> R >> C >> sy >> sx >> gy >> gx;
    sy--, sx--, gy--, gx--;
    vector<string> S(R);
    rep(i, R) cin >> S[i];
    vector<vector<int>> ret(R, vector<int>(C, -1));
    ret[sy][sx] = 0;
    queue<pair<int, int>> q;
    q.push(mp(sy,sx));
    while (!q.empty()) {
        auto t = q.front();
        q.pop();
        rep(i, 4){
            if (t.first + dy[i] < R && t.first + dy[i] >= 0 && t.second + dx[i] < C && t.second + dx[i] >= 0) {
                if (S[t.first + dy[i]][t.second + dx[i]] == '.' && ret[t.first + dy[i]][t.second + dx[i]] == -1) {
                    q.push(mp(t.first + dy[i], t.second + dx[i]));
                    ret[t.first + dy[i]][t.second + dx[i]] = ret[t.first][t.second] + 1;
                }
            }
        }
    }
    
    output(ret[gy][gx], 0);
    
    
    return 0;
}

提出情報

提出日時
問題 A - 幅優先探索
ユーザ shinsotsu
言語 C++14 (GCC 5.4.1)
得点 100
コード長 1701 Byte
結果 AC
実行時間 5 ms
メモリ 256 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 100 / 100
結果
AC × 3
AC × 25
セット名 テストケース
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
ケース名 結果 実行時間 メモリ
subtask0_sample01.txt AC 4 ms 256 KiB
subtask0_sample02.txt AC 4 ms 256 KiB
subtask0_sample03.txt AC 4 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 4 ms 256 KiB
subtask1_05.txt AC 4 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 5 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