Submission #1305421

#TimeUsernameProblemLanguageResultExecution timeMemory
1305421Davdav1232Nautilus (BOI19_nautilus)C++20
100 / 100
101 ms760 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; bitset<250500> b, available; int main(){ string s; int r, c, m; cin>>r>>c>>m>>s; for(int i=0; i<r; i++){ for(int j=0; j<c; j++) if(s[j]=='.') available[j+(c+1)*i]=1; cin>>s; } b=available; for(int l=0; l<m; l++){ if(s[l]=='?') b=((b<<1) | (b>>1) | (b>>(c+1)) | (b<<(c+1))) & available; if(s[l]=='E') b=(b<<1)&available; if(s[l]=='W') b=(b>>1)&available; if(s[l]=='N') b=(b>>(c+1))&available; if(s[l]=='S') b=(b<<(c+1))&available; } cout<<b.count(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...