Submission #2402800
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> PA;
typedef priority_queue<int, vector<int>, greater<int> > GQint;
typedef priority_queue<int> PQint;
typedef priority_queue<PA, vector<PA>, greater<PA> > GQpair;
typedef priority_queue<PA> PQpair;
typedef set<int> Sint;
typedef set<PA> SPA;
typedef map<int, int> MAP;
#define REP(i, a, n) for(ll i = (ll) a;i < (ll) n;i++)
#define fi first
#define se second
#define pb push_back
#define INF 1000000009
#define MOD 100000
#define MAXN 102
#define MAXR 51
#define MAXC 51
int r, c, sx, sy, gx, gy;
char C[MAXR][MAXC];
int d[MAXR][MAXC], dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
int bfs()
{
queue<PA> que;
que.push(PA(sx, sy));
while(!que.empty()){
PA p = que.front(); que.pop();
if(p.fi == gx && p.se == gy) break;
REP(i, 0, 4){
int nx = p.fi + dx[i], ny = p.se + dy[i];
if(0 < nx && nx < r - 1 && 0 < ny && ny < c - 1){
if(d[nx][ny] == INF && C[nx][ny] == '.'){
que.push(PA(nx, ny));
d[nx][ny] = d[p.fi][p.se] + 1;
}
}
}
}
return d[gx][gy];
}
int main()
{
cin >> r >> c >> sx >> sy >> gx >> gy;
sx--;sy--;gx--;gy--;
REP(i, 0, r){
REP(j, 0, c){
cin >> C[i][j];
d[i][j] = INF;
}
}
d[sx][sy] = 0;
cout << bfs() << endl;
return 0;
}
/*
int n, m, a, b, c, d;
int main()
{
cin >> n >> m;
for(int i = 0;i <= n;i++){
d = (m - i * 3) - 2 * (n - i);
if(m - i * 3 >= 0 && d >= 0){
if(d % 2 == 0 && n - i - d >= 0){
printf("%d %d %d\n", n - i - d / 2, i, d / 2);
return 0;
}
}
}
printf("-1 -1 -1\n");
return 0;
}*/
/*
*/
Submission Info
Submission Time |
|
Task |
C - 幅優先探索 |
User |
youluoy |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1973 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |