提出 #3863401
ソースコード 拡げる
#include <bits/stdc++.h>
#define rep(i, n) for(int i=0;i<(int)(n);++i)
#define rep1(i, n) for(int i=1;i<=(int)(n);++i)
#define irep(i, a, n) for(int i=a;i<(int)(n);++i)
#define rrep(i, n) for(int i=(int)(n)-1;i>=0;--i)
#define rrep1(i, n) for(int i=(int)(n);i>=1;--i)
#define allrep(V, v) for(auto&& V:v)
#define all(x) (x).begin(),(x).end()
typedef long long lint;
const int INF=1<<29;
const double EPS=1e-9;
using namespace std;
int main (void)
{
int r,c,sy,sx,gy,gx; cin>>r>>c>>sy>>sx>>gy>>gx;
// false = 壁
vector<vector<bool>> field(r+1,vector<bool>(c+1,false));
vector<vector<int>> min_dist(r+1,vector<int>(c+1,INF));
char ch;
rep1(i,r){
rep1(j,c){
cin>>ch;
if(ch == '.') field[i][j]=true;
}
}
int dx[4]={1,0,-1,0}, dy[4]={0,1,0,-1};
deque<pair<int,int>> que;
min_dist[sy][sx]=0;
que.push_back(pair<int,int>(sy,sx));
while(!que.empty()){
int now_y,now_x;
tie(now_y,now_x)=que.front(); que.pop_front();
rep(i,4){
int next_y=now_y+dy[i], next_x=now_x+dx[i];
if(field[next_y][next_x] && min_dist[next_y][next_x] == INF){
min_dist[next_y][next_x]=min_dist[now_y][now_x]+1;
que.push_back(pair<int,int>(next_y,next_x));
}
}
}
cout<<min_dist[gy][gx]<<endl;
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
C - 幅優先探索 |
| ユーザ |
icia |
| 言語 |
C++14 (GCC 5.4.1) |
| 得点 |
100 |
| コード長 |
1320 Byte |
| 結果 |
AC |
| 実行時間 |
1 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 |
1 ms |
256 KiB |
| subtask0_sample02.txt |
AC |
1 ms |
256 KiB |
| subtask0_sample03.txt |
AC |
1 ms |
256 KiB |
| subtask1_01.txt |
AC |
1 ms |
256 KiB |
| subtask1_02.txt |
AC |
1 ms |
256 KiB |
| subtask1_03.txt |
AC |
1 ms |
256 KiB |
| subtask1_04.txt |
AC |
1 ms |
256 KiB |
| subtask1_05.txt |
AC |
1 ms |
256 KiB |
| subtask1_06.txt |
AC |
1 ms |
256 KiB |
| subtask1_07.txt |
AC |
1 ms |
256 KiB |
| subtask1_08.txt |
AC |
1 ms |
256 KiB |
| subtask1_09.txt |
AC |
1 ms |
256 KiB |
| subtask1_10.txt |
AC |
1 ms |
256 KiB |
| subtask1_11.txt |
AC |
1 ms |
256 KiB |
| subtask1_12.txt |
AC |
1 ms |
256 KiB |
| subtask1_13.txt |
AC |
1 ms |
256 KiB |
| subtask1_14.txt |
AC |
1 ms |
256 KiB |
| subtask1_15.txt |
AC |
1 ms |
256 KiB |
| subtask1_16.txt |
AC |
1 ms |
256 KiB |
| subtask1_17.txt |
AC |
1 ms |
256 KiB |
| subtask1_18.txt |
AC |
1 ms |
256 KiB |
| subtask1_19.txt |
AC |
1 ms |
256 KiB |
| subtask1_20.txt |
AC |
1 ms |
256 KiB |
| subtask1_21.txt |
AC |
1 ms |
256 KiB |
| subtask1_22.txt |
AC |
1 ms |
256 KiB |