Submission #3433353
Source Code Expand
#include <iostream> #include <string.h> #include <stdio.h> #include <map> #include <vector> #include <math.h> #include <algorithm> #include <queue> #include <set> #include <tuple> using namespace std; #define rep(i,a) for(int i=0; i<a; i++) #define rrep(i,a) for(int i=a; i>=0; i--) #define rep1(i,a) for(int i=1; i<=a; i++) #define cout1(a) cout << a << endl; #define cout2(a,b) cout << a << " " << b << endl; #define cout3(a,b,c) cout << a << " " << b << " " << c << endl; #define cout4(a,b,c,d) cout << a << " " << b << " " << c << " " << d << endl; #define mem(a,n) memset( a, n, sizeof(a)) #define all(a) a.begin(),a.end() typedef long long ll; typedef pair<int,int> pii; typedef vector<int> V; typedef vector<V> VV; typedef vector<VV> VVV; const int INF = 1e9; const int MOD = 1e9+7; const ll LLINF = 1e18; static const double pi = 3.141592653589793; int field[509][509]; bool visit[509][509]; int H, W; pii S, G; bool bfs(){ int dh[] = { -1, 0, 1, 0}; int dw[] = { 0, 1, 0, -1}; mem(visit,false); visit[S.first][S.second]=true; vector<pii> now; now.push_back({S.first,S.second}); while(now.size()){ vector<pii> nxt; for(auto p:now){ if(p.first==G.first && p.second==G.second)return true; int ph = p.first; int pw = p.second; rep(i,4){ int nh = ph + dh[i]; int nw = pw + dw[i]; if(nh>=1 && nw>=1 && nh<=H && nw<=W){ if(visit[nh][nw]) continue; visit[nh][nw]=true; if(field[nh][nw]==2) field[nh][nw]=1; if(field[nh][nw]==0){ nxt.push_back(make_pair(nh,nw)); } } } } swap(now,nxt); } return false; } int main() { cin.tie(0); ios::sync_with_stdio(false); cin>>H>>W; rep1(i,H)rep1(j,W){ char c; cin>>c; if(c=='#') field[i][j]=2; else if(c=='.') field[i][j]=0; else if(c=='s'){ S.first=i; S.second=j; }else{ G.first=i; G.second=j;} } field[S.first][S.second] = 0; field[G.first][G.second] = 0; rep(i,3){ if(bfs()){ cout1("YES"); return 0; }else{ rep1(k,H)rep1(j,W){ if(field[k][j]==1) field[k][j]=0; } } } cout1("NO"); }
Submission Info
Submission Time | |
---|---|
Task | C - 器物損壊!高橋君 |
User | mensan_fukuhara |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2570 Byte |
Status | AC |
Exec Time | 16 ms |
Memory | 1536 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
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 | 1 ms | 512 KB |
00_min_02.txt | AC | 1 ms | 512 KB |
00_min_03.txt | AC | 1 ms | 512 KB |
00_min_04.txt | AC | 1 ms | 512 KB |
00_min_05.txt | AC | 1 ms | 512 KB |
00_min_06.txt | AC | 1 ms | 512 KB |
00_min_07.txt | AC | 1 ms | 512 KB |
00_min_08.txt | AC | 1 ms | 512 KB |
00_sample_01.txt | AC | 1 ms | 512 KB |
00_sample_02.txt | AC | 1 ms | 512 KB |
00_sample_03.txt | AC | 1 ms | 512 KB |
00_sample_04.txt | AC | 1 ms | 512 KB |
00_sample_05.txt | AC | 1 ms | 512 KB |
01_rnd_00.txt | AC | 5 ms | 1536 KB |
01_rnd_01.txt | AC | 5 ms | 1536 KB |
01_rnd_02.txt | AC | 8 ms | 1536 KB |
01_rnd_03.txt | AC | 8 ms | 1536 KB |
01_rnd_04.txt | AC | 7 ms | 1536 KB |
01_rnd_05.txt | AC | 6 ms | 1536 KB |
01_rnd_06.txt | AC | 10 ms | 1536 KB |
01_rnd_07.txt | AC | 9 ms | 1536 KB |
01_rnd_08.txt | AC | 5 ms | 1536 KB |
01_rnd_09.txt | AC | 6 ms | 1536 KB |
01_rnd_10.txt | AC | 16 ms | 1536 KB |
01_rnd_11.txt | AC | 5 ms | 1536 KB |
01_rnd_12.txt | AC | 9 ms | 1536 KB |
01_rnd_13.txt | AC | 5 ms | 1536 KB |
01_rnd_14.txt | AC | 8 ms | 1536 KB |
01_rnd_15.txt | AC | 9 ms | 1536 KB |
01_rnd_16.txt | AC | 5 ms | 1536 KB |
01_rnd_17.txt | AC | 14 ms | 1536 KB |
01_rnd_18.txt | AC | 5 ms | 1536 KB |
01_rnd_19.txt | AC | 6 ms | 1536 KB |
02_rndhard_00.txt | AC | 8 ms | 1536 KB |
02_rndhard_01.txt | AC | 8 ms | 1536 KB |
02_rndhard_02.txt | AC | 15 ms | 1536 KB |
02_rndhard_03.txt | AC | 14 ms | 1536 KB |
02_rndhard_04.txt | AC | 9 ms | 1536 KB |
02_rndhard_05.txt | AC | 11 ms | 1536 KB |
02_rndhard_06.txt | AC | 11 ms | 1536 KB |
02_rndhard_07.txt | AC | 8 ms | 1536 KB |
02_rndhard_08.txt | AC | 9 ms | 1536 KB |
02_rndhard_09.txt | AC | 9 ms | 1536 KB |
02_rndhard_10.txt | AC | 10 ms | 1536 KB |
02_rndhard_11.txt | AC | 9 ms | 1536 KB |
02_rndhard_12.txt | AC | 8 ms | 1536 KB |
02_rndhard_13.txt | AC | 8 ms | 1536 KB |
02_rndhard_14.txt | AC | 10 ms | 1536 KB |
02_rndhard_15.txt | AC | 10 ms | 1536 KB |
02_rndhard_16.txt | AC | 12 ms | 1536 KB |
02_rndhard_17.txt | AC | 12 ms | 1536 KB |
02_rndhard_18.txt | AC | 8 ms | 1536 KB |
02_rndhard_19.txt | AC | 7 ms | 1536 KB |
02_rndhard_20.txt | AC | 9 ms | 1536 KB |
02_rndhard_21.txt | AC | 9 ms | 1536 KB |
02_rndhard_22.txt | AC | 9 ms | 1536 KB |
02_rndhard_23.txt | AC | 8 ms | 1536 KB |
02_rndhard_24.txt | AC | 13 ms | 1536 KB |
02_rndhard_25.txt | AC | 9 ms | 1536 KB |
02_rndhard_26.txt | AC | 7 ms | 1536 KB |
02_rndhard_27.txt | AC | 7 ms | 1536 KB |
02_rndhard_28.txt | AC | 7 ms | 1536 KB |
02_rndhard_29.txt | AC | 7 ms | 1536 KB |
02_rndhard_30.txt | AC | 7 ms | 1536 KB |
02_rndhard_31.txt | AC | 7 ms | 1536 KB |
02_rndhard_32.txt | AC | 11 ms | 1536 KB |
02_rndhard_33.txt | AC | 10 ms | 1536 KB |
02_rndhard_34.txt | AC | 8 ms | 1536 KB |
02_rndhard_35.txt | AC | 10 ms | 1536 KB |
02_rndhard_36.txt | AC | 9 ms | 1536 KB |
02_rndhard_37.txt | AC | 9 ms | 1536 KB |
02_rndhard_38.txt | AC | 10 ms | 1536 KB |
02_rndhard_39.txt | AC | 10 ms | 1536 KB |
03_rndhardsmall_00.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_01.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_02.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_03.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_04.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_05.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_06.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_07.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_08.txt | AC | 1 ms | 512 KB |
03_rndhardsmall_09.txt | AC | 1 ms | 512 KB |