Submission #420563
Source Code Expand
//include //------------------------------------------ #include <vector> #include <list> #include <map> #include <set> #include <deque> #include <stack> #include <bitset> #include <algorithm> #include <functional> #include <numeric> #include <utility> #include <sstream> #include <iostream> #include <iomanip> #include <cstdio> #include <cmath> #include <cstdlib> #include <cctype> #include <string> #include <cstring> #include <ctime> #include <climits> #include <queue> using namespace std; //typedef //------------------------------------------ typedef vector<int> VI; typedef vector<VI> VVI; typedef vector<string> VS; typedef pair<int, int> PII; typedef long long LL; //container util //------------------------------------------ #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(), (a).rend() #define PB push_back #define MP make_pair #define SZ(a) int((a).size()) #define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i) #define EXIST(s,e) ((s).find(e)!=(s).end()) #define SORT(c) sort((c).begin(),(c).end()) //repetition //------------------------------------------ #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) //constant //-------------------------------------------- const double EPS = 1e-10; const double PI = acos(-1.0); int dx[4] = {-1,0,1,0}; int dy[4] = {0,-1,0,1}; int main(){ cin.tie(0); ios_base::sync_with_stdio(false); int H, W; cin >> H >> W; VS vs(H); REP(i,H) cin >> vs[i]; REP(i,H) vs[i] = "#" + vs[i] + "#"; vs.insert(vs.begin(), string(SZ(vs[0]), '#')); vs.PB(string(SZ(vs[0]), '#')); // for(auto& s: vs) cout<<s<<endl; W += 2, H += 2; int sx, sy, gx, gy; REP(y,H) REP(x,W) if(vs[y][x] == 's') sx = x, sy = y; else if(vs[y][x] == 'g') gx = x, gy = y; queue<PII> q; set<PII> s; q.push(MP(sx,sy)); s.insert(MP(sx,sy)); while(!q.empty()){ PII p = q.front(); q.pop(); REP(i,4){ PII t = p; t.first += dx[i]; t.second += dy[i]; if(vs[t.second][t.first] == '#') continue; if(!s.count(t)) q.push(t), s.insert(t); } } cout << (s.count(MP(gx,gy))? "Yes": "No") << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - 深さ優先探索 |
User | okaduki |
Language | C++ (GCC 4.9.2) |
Score | 100 |
Code Size | 2229 Byte |
Status | AC |
Exec Time | 430 ms |
Memory | 12828 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt |
All | 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 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_min_01.txt | AC | 30 ms | 924 KB |
00_min_02.txt | AC | 26 ms | 808 KB |
00_min_03.txt | AC | 24 ms | 796 KB |
00_min_04.txt | AC | 26 ms | 928 KB |
00_min_05.txt | AC | 26 ms | 920 KB |
00_min_06.txt | AC | 27 ms | 796 KB |
00_min_07.txt | AC | 27 ms | 740 KB |
00_min_08.txt | AC | 27 ms | 920 KB |
00_sample_01.txt | AC | 29 ms | 800 KB |
00_sample_02.txt | AC | 27 ms | 920 KB |
00_sample_03.txt | AC | 28 ms | 916 KB |
00_sample_04.txt | AC | 29 ms | 804 KB |
00_sample_05.txt | AC | 27 ms | 804 KB |
01_rnd_00.txt | AC | 30 ms | 1436 KB |
01_rnd_01.txt | AC | 385 ms | 12072 KB |
01_rnd_02.txt | AC | 264 ms | 9252 KB |
01_rnd_03.txt | AC | 409 ms | 12828 KB |
01_rnd_04.txt | AC | 365 ms | 11812 KB |
01_rnd_05.txt | AC | 29 ms | 1320 KB |
01_rnd_06.txt | AC | 259 ms | 8872 KB |
01_rnd_07.txt | AC | 263 ms | 9500 KB |
01_rnd_08.txt | AC | 34 ms | 1316 KB |
01_rnd_09.txt | AC | 35 ms | 1312 KB |
01_rnd_10.txt | AC | 164 ms | 6304 KB |
01_rnd_11.txt | AC | 29 ms | 1308 KB |
01_rnd_12.txt | AC | 321 ms | 10912 KB |
01_rnd_13.txt | AC | 315 ms | 10656 KB |
01_rnd_14.txt | AC | 31 ms | 1428 KB |
01_rnd_15.txt | AC | 230 ms | 7972 KB |
01_rnd_16.txt | AC | 29 ms | 1444 KB |
01_rnd_17.txt | AC | 204 ms | 7588 KB |
01_rnd_18.txt | AC | 30 ms | 1440 KB |
01_rnd_19.txt | AC | 430 ms | 12712 KB |
02_rndhard_00.txt | AC | 31 ms | 1312 KB |
02_rndhard_01.txt | AC | 31 ms | 1320 KB |
02_rndhard_02.txt | AC | 56 ms | 2476 KB |
02_rndhard_03.txt | AC | 92 ms | 2432 KB |
02_rndhard_04.txt | AC | 32 ms | 1244 KB |
02_rndhard_05.txt | AC | 30 ms | 1316 KB |
02_rndhard_06.txt | AC | 30 ms | 1428 KB |
02_rndhard_07.txt | AC | 42 ms | 1320 KB |
02_rndhard_08.txt | AC | 35 ms | 1572 KB |
02_rndhard_09.txt | AC | 34 ms | 1576 KB |
02_rndhard_10.txt | AC | 34 ms | 1560 KB |
02_rndhard_11.txt | AC | 36 ms | 1568 KB |
02_rndhard_12.txt | AC | 33 ms | 1404 KB |
02_rndhard_13.txt | AC | 33 ms | 1444 KB |
02_rndhard_14.txt | AC | 35 ms | 1568 KB |
02_rndhard_15.txt | AC | 35 ms | 1576 KB |
02_rndhard_16.txt | AC | 29 ms | 1316 KB |
02_rndhard_17.txt | AC | 31 ms | 1320 KB |
02_rndhard_18.txt | AC | 30 ms | 1316 KB |
02_rndhard_19.txt | AC | 29 ms | 1316 KB |
02_rndhard_20.txt | AC | 31 ms | 1316 KB |
02_rndhard_21.txt | AC | 31 ms | 1432 KB |
02_rndhard_22.txt | AC | 33 ms | 1436 KB |
02_rndhard_23.txt | AC | 32 ms | 1444 KB |
02_rndhard_24.txt | AC | 31 ms | 1288 KB |
02_rndhard_25.txt | AC | 31 ms | 1440 KB |
02_rndhard_26.txt | AC | 31 ms | 1304 KB |
02_rndhard_27.txt | AC | 31 ms | 1324 KB |
02_rndhard_28.txt | AC | 32 ms | 1316 KB |
02_rndhard_29.txt | AC | 30 ms | 1308 KB |
02_rndhard_30.txt | AC | 29 ms | 1312 KB |
02_rndhard_31.txt | AC | 30 ms | 1440 KB |
02_rndhard_32.txt | AC | 33 ms | 1436 KB |
02_rndhard_33.txt | AC | 36 ms | 1376 KB |
02_rndhard_34.txt | AC | 31 ms | 1316 KB |
02_rndhard_35.txt | AC | 29 ms | 1304 KB |
02_rndhard_36.txt | AC | 30 ms | 1312 KB |
02_rndhard_37.txt | AC | 30 ms | 1324 KB |
02_rndhard_38.txt | AC | 32 ms | 1372 KB |
02_rndhard_39.txt | AC | 31 ms | 1308 KB |
03_rndhardsmall_00.txt | AC | 29 ms | 756 KB |
03_rndhardsmall_01.txt | AC | 26 ms | 928 KB |
03_rndhardsmall_02.txt | AC | 25 ms | 800 KB |
03_rndhardsmall_03.txt | AC | 25 ms | 808 KB |
03_rndhardsmall_04.txt | AC | 26 ms | 924 KB |
03_rndhardsmall_05.txt | AC | 26 ms | 916 KB |
03_rndhardsmall_06.txt | AC | 29 ms | 764 KB |
03_rndhardsmall_07.txt | AC | 26 ms | 796 KB |
03_rndhardsmall_08.txt | AC | 26 ms | 932 KB |
03_rndhardsmall_09.txt | AC | 28 ms | 928 KB |