AtCoder Typical Contest 001

Submission #420190

Source codeソースコード

#include<bits/stdc++.h>
using namespace std;
 
template<typename T1, typename T2> istream& operator>>(istream& is, pair<T1,T2>& a){ return is >> a.first >> a.second; }
template<typename T1, typename T2> ostream& operator<<(ostream& os, pair<T1,T2>& a){ return os << a.first << " "<<a.second; }
template<typename T> istream& operator>>(istream& is, vector< T >& vc){ for(int i = 0; i < vc.size(); i++) is >> vc[i]; return is; }
template<typename T> ostream& operator<<(ostream& os, vector< T >& vc){ for(int i = 0; i < vc.size(); i++) os << vc[i] << endl; return os; }
 
#define ForEach(it,c) for(__typeof (c).begin() it = (c).begin(); it != (c).end(); it++)
#define ALL(v) (v).begin(), (v).end()
#define UNQ(s) { sort(ALL(s)); (s).erase( unique( ALL(s)), (s).end());}
#define fr first
#define sc second
 
typedef pair< int , int > Pi;
typedef pair< int , Pi > Pii;
 
typedef long long int64;
const int INF = 1 << 30;

int main() {
  int H, W;
  cin >> H >> W;
  vector< string > S(H);
  cin >> S;
  Pi s, g;
  for(int i = 0; i < S.size(); i++) {
    for(int j = 0; j < S[i].size(); j++) {
      if(S[i][j] == 's') s = make_pair(j, i);
      if(S[i][j] == 'g') g = make_pair(j, i);
    }
  }

    
  bool v[500][500] = {{}};
  queue< Pi > que;
  que.push(s);
  v[s.first][s.second] = true;
  while(!que.empty()) {
    Pi p = que.front(); que.pop();
    if(p == g) {
      puts("Yes");
      exit(0);
    }
    for(int i = 0; i < 4; i++) {
      const static signed dy[] = {0, 1, 0, -1}, dx[] = {1, 0, -1, 0};
      int ny = dy[i] + p.second, nx = dx[i] + p.first;
      if(ny < 0 || ny >= H || nx < 0 || nx >= W) continue;
      if(S[ny][nx] == '#' || v[nx][ny]++) continue;
      que.push(make_pair(nx, ny));
    }
  }
  puts("No");

}

Submission

Task問題 A - 深さ優先探索
User nameユーザ名 ぷた
Created time投稿日時
Language言語 C++ (GCC 4.9.2)
Status状態 AC
Score得点 100
Source lengthソースコード長 1791 Byte
File nameファイル名
Exec time実行時間 96 ms
Memory usageメモリ使用量 1324 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,00_sample_04.txt,00_sample_05.txt
All 100 / 100 00_min_01.txt,00_min_02.txt,00_min_03.txt,00_min_04.txt,00_min_05.txt,00_min_06.txt,00_min_07.txt,00_min_08.txt,00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,00_sample_04.txt,00_sample_05.txt,01_rnd_00.txt,01_rnd_01.txt,01_rnd_02.txt,01_rnd_03.txt,01_rnd_04.txt,01_rnd_05.txt,01_rnd_06.txt,01_rnd_07.txt,01_rnd_08.txt,01_rnd_09.txt,01_rnd_10.txt,01_rnd_11.txt,01_rnd_12.txt,01_rnd_13.txt,01_rnd_14.txt,01_rnd_15.txt,01_rnd_16.txt,01_rnd_17.txt,01_rnd_18.txt,01_rnd_19.txt,02_rndhard_00.txt,02_rndhard_01.txt,02_rndhard_02.txt,02_rndhard_03.txt,02_rndhard_04.txt,02_rndhard_05.txt,02_rndhard_06.txt,02_rndhard_07.txt,02_rndhard_08.txt,02_rndhard_09.txt,02_rndhard_10.txt,02_rndhard_11.txt,02_rndhard_12.txt,02_rndhard_13.txt,02_rndhard_14.txt,02_rndhard_15.txt,02_rndhard_16.txt,02_rndhard_17.txt,02_rndhard_18.txt,02_rndhard_19.txt,02_rndhard_20.txt,02_rndhard_21.txt,02_rndhard_22.txt,02_rndhard_23.txt,02_rndhard_24.txt,02_rndhard_25.txt,02_rndhard_26.txt,02_rndhard_27.txt,02_rndhard_28.txt,02_rndhard_29.txt,02_rndhard_30.txt,02_rndhard_31.txt,02_rndhard_32.txt,02_rndhard_33.txt,02_rndhard_34.txt,02_rndhard_35.txt,02_rndhard_36.txt,02_rndhard_37.txt,02_rndhard_38.txt,02_rndhard_39.txt,03_rndhardsmall_00.txt,03_rndhardsmall_01.txt,03_rndhardsmall_02.txt,03_rndhardsmall_03.txt,03_rndhardsmall_04.txt,03_rndhardsmall_05.txt,03_rndhardsmall_06.txt,03_rndhardsmall_07.txt,03_rndhardsmall_08.txt,03_rndhardsmall_09.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_min_01.txt AC 29 ms 1016 KB
00_min_02.txt AC 26 ms 932 KB
00_min_03.txt AC 26 ms 1052 KB
00_min_04.txt AC 26 ms 1048 KB
00_min_05.txt AC 23 ms 1048 KB
00_min_06.txt AC 24 ms 1056 KB
00_min_07.txt AC 22 ms 1048 KB
00_min_08.txt AC 25 ms 932 KB
00_sample_01.txt AC 23 ms 1056 KB
00_sample_02.txt AC 25 ms 1052 KB
00_sample_03.txt AC 23 ms 1056 KB
00_sample_04.txt AC 24 ms 932 KB
00_sample_05.txt AC 23 ms 1052 KB
01_rnd_00.txt AC 39 ms 1320 KB
01_rnd_01.txt AC 42 ms 1312 KB
01_rnd_02.txt AC 46 ms 1316 KB
01_rnd_03.txt AC 47 ms 1316 KB
01_rnd_04.txt AC 45 ms 1316 KB
01_rnd_05.txt AC 40 ms 1324 KB
01_rnd_06.txt AC 49 ms 1320 KB
01_rnd_07.txt AC 46 ms 1312 KB
01_rnd_08.txt AC 39 ms 1316 KB
01_rnd_09.txt AC 40 ms 1316 KB
01_rnd_10.txt AC 50 ms 1316 KB
01_rnd_11.txt AC 43 ms 1320 KB
01_rnd_12.txt AC 48 ms 1308 KB
01_rnd_13.txt AC 41 ms 1316 KB
01_rnd_14.txt AC 40 ms 1316 KB
01_rnd_15.txt AC 48 ms 1304 KB
01_rnd_16.txt AC 43 ms 1316 KB
01_rnd_17.txt AC 54 ms 1312 KB
01_rnd_18.txt AC 41 ms 1324 KB
01_rnd_19.txt AC 45 ms 1316 KB
02_rndhard_00.txt AC 42 ms 1308 KB
02_rndhard_01.txt AC 40 ms 1324 KB
02_rndhard_02.txt AC 42 ms 1324 KB
02_rndhard_03.txt AC 41 ms 1312 KB
02_rndhard_04.txt AC 43 ms 1312 KB
02_rndhard_05.txt AC 40 ms 1316 KB
02_rndhard_06.txt AC 39 ms 1308 KB
02_rndhard_07.txt AC 96 ms 1264 KB
02_rndhard_08.txt AC 41 ms 1312 KB
02_rndhard_09.txt AC 40 ms 1316 KB
02_rndhard_10.txt AC 40 ms 1320 KB
02_rndhard_11.txt AC 40 ms 1316 KB
02_rndhard_12.txt AC 41 ms 1312 KB
02_rndhard_13.txt AC 42 ms 1320 KB
02_rndhard_14.txt AC 41 ms 1320 KB
02_rndhard_15.txt AC 41 ms 1316 KB
02_rndhard_16.txt AC 41 ms 1308 KB
02_rndhard_17.txt AC 40 ms 1320 KB
02_rndhard_18.txt AC 41 ms 1316 KB
02_rndhard_19.txt AC 41 ms 1308 KB
02_rndhard_20.txt AC 41 ms 1316 KB
02_rndhard_21.txt AC 40 ms 1312 KB
02_rndhard_22.txt AC 41 ms 1316 KB
02_rndhard_23.txt AC 42 ms 1312 KB
02_rndhard_24.txt AC 41 ms 1316 KB
02_rndhard_25.txt AC 43 ms 1320 KB
02_rndhard_26.txt AC 40 ms 1320 KB
02_rndhard_27.txt AC 40 ms 1316 KB
02_rndhard_28.txt AC 39 ms 1320 KB
02_rndhard_29.txt AC 39 ms 1316 KB
02_rndhard_30.txt AC 40 ms 1320 KB
02_rndhard_31.txt AC 39 ms 1316 KB
02_rndhard_32.txt AC 40 ms 1324 KB
02_rndhard_33.txt AC 40 ms 1316 KB
02_rndhard_34.txt AC 40 ms 1316 KB
02_rndhard_35.txt AC 42 ms 1264 KB
02_rndhard_36.txt AC 40 ms 1308 KB
02_rndhard_37.txt AC 42 ms 1320 KB
02_rndhard_38.txt AC 43 ms 1320 KB
02_rndhard_39.txt AC 40 ms 1320 KB
03_rndhardsmall_00.txt AC 25 ms 1056 KB
03_rndhardsmall_01.txt AC 23 ms 928 KB
03_rndhardsmall_02.txt AC 32 ms 1000 KB
03_rndhardsmall_03.txt AC 25 ms 928 KB
03_rndhardsmall_04.txt AC 34 ms 1056 KB
03_rndhardsmall_05.txt AC 32 ms 1060 KB
03_rndhardsmall_06.txt AC 26 ms 928 KB
03_rndhardsmall_07.txt AC 28 ms 1172 KB
03_rndhardsmall_08.txt AC 27 ms 932 KB
03_rndhardsmall_09.txt AC 27 ms 932 KB