#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |