提出 #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 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |