提出詳細


ソースコード

#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)

struct Point {
    ll x = 0;
    ll y = 0;

    Point(){}

    Point(ll x, ll y){
        this->x = x;
        this->y = y;
    }
};

int main(){
    ll T; cin>>T;
    rep(testCase, T){
        cout << "Case #" << testCase+1 << ":" << endl;

        ll W,H; cin>>W>>H;
        vector<vector<ll>> N(H, vector<ll>(W));
        Point s, g;
        rep(i, H) rep(j, W){
            cin>>N[i][j];
            if(N[i][j] == 1) s = Point(j, i);
            if(N[i][j] == 2) g = Point(j, i);
        }

        queue<Point> que;
        que.push(s);
        ll dx[4] = {0, 0, 1, -1};
        ll dy[4] = {1, -1, 0, 0};
        vector<vector<ll>> reached(H, vector<ll>(W));
        ll count = 0;
        while(!que.empty()){
            Point p = que.front();
            que.pop();
            rep(i, 4){
                Point n = Point(p.x + dx[i], p.y + dy[i]);
                if(n.x < 0 || n.x >= W || n.y < 0 || n.y >= H) continue;
                if(N[n.y][n.x] == 0){
                    que.push(Point(n.x, n.y));
                    N[n.y][n.x] = 3;
                    reached[n.y][n.x] = reached[p.y][p.x]+1;
                }
                if(N[n.y][n.x] == 2){
                    reached[n.y][n.x] = reached[p.y][p.x]+1;
                    break;
                }
            }
            count++;
        }

        cout << reached[g.y][g.x] << endl;
    }
}

提出情報

提出時間 2020-11-26 02:52:56
問題 G - ボルダリング
ユーザ名 Shigeki
状態 不正解
正解率 48/50
提出出力結果

テストケース情報

# 状態 詳細情報
テストケース 1 正解 詳細を見る
テストケース 2 正解 詳細を見る
テストケース 3 正解 詳細を見る
テストケース 4 正解 詳細を見る
テストケース 5 不正解 詳細を見る
テストケース 6 正解 詳細を見る
テストケース 7 正解 詳細を見る
テストケース 8 正解 詳細を見る
テストケース 9 正解 詳細を見る
テストケース 10 正解 詳細を見る
テストケース 11 正解 詳細を見る
テストケース 12 正解 詳細を見る
テストケース 13 正解 詳細を見る
テストケース 14 正解 詳細を見る
テストケース 15 正解 詳細を見る
テストケース 16 正解 詳細を見る
テストケース 17 正解 詳細を見る
テストケース 18 正解 詳細を見る
テストケース 19 正解 詳細を見る
テストケース 20 正解 詳細を見る
テストケース 21 正解 詳細を見る
テストケース 22 正解 詳細を見る
テストケース 23 正解 詳細を見る
テストケース 24 正解 詳細を見る
テストケース 25 正解 詳細を見る
テストケース 26 正解 詳細を見る
テストケース 27 正解 詳細を見る
テストケース 28 不正解 詳細を見る
テストケース 29 正解 詳細を見る
テストケース 30 正解 詳細を見る
テストケース 31 正解 詳細を見る
テストケース 32 正解 詳細を見る
テストケース 33 正解 詳細を見る
テストケース 34 正解 詳細を見る
テストケース 35 正解 詳細を見る
テストケース 36 正解 詳細を見る
テストケース 37 正解 詳細を見る
テストケース 38 正解 詳細を見る
テストケース 39 正解 詳細を見る
テストケース 40 正解 詳細を見る
テストケース 41 正解 詳細を見る
テストケース 42 正解 詳細を見る
テストケース 43 正解 詳細を見る
テストケース 44 正解 詳細を見る
テストケース 45 正解 詳細を見る
テストケース 46 正解 詳細を見る
テストケース 47 正解 詳細を見る
テストケース 48 正解 詳細を見る
テストケース 49 正解 詳細を見る
テストケース 50 正解 詳細を見る