Submission #1367031

#TimeUsernameProblemLanguageResultExecution timeMemory
1367031gvancakNautilus (BOI19_nautilus)C++20
29 / 100
2 ms344 KiB
#include <bits/stdc++.h>
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define ll long long
using namespace std;
const ll N=105,INF=1e12;
ll ans,c[N],b[N][N],n,k,m,x,q,y;
char a[N][N];
pair <ll,ll> p[N];
bool ok;
string s;
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    
    cin >> n >> m >> q;
    for (int i=1; i<=n; i++){
    	for (int j=1; j<=m; j++){
    		cin >> a[i][j];
		}
	}
	cin >> s;
	for (int i=1; i<=n; i++){
		for (int j=1; j<=m; j++){
			x=i; y=j;
			if (a[i][j]!='.') continue;
			ok=0;
			for (int k=0; k<s.size(); k++){
				if (s[k]=='N') x--;
				if (s[k]=='S') x++;
				if (s[k]=='E') y++;
				if (s[k]=='W') y--;
				if (i<1 || i>n || j<1 || j>m){
					ok=1; break;
				}
				if (a[x][y]!='.'){
					ok=1; break;
				}
			}
			if (ok==0){
				if (b[x][y]==0) ans++;
				b[x][y]=1;
			}
		}
	}
	cout << ans << endl;

}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...