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