#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; N[n.y][n.x] = 3; break; } } count++; } cout << reached[g.y][g.x] << endl; } }
提出時間 | 2020-11-26 02:55:48 |
問題 | G - ボルダリング |
ユーザ名 | Shigeki |
状態 | 正解 |
正解率 | 50/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 | 正解 | 詳細を見る |