#include <bits/stdc++.h>
//#pragma GCC optimize("Ofast")
//#pragma GCC target("avx,avx2,fma")
using namespace std;
#define sped_up ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ll long long
const ll INF = (ll)1e9 + 1, INFL = (ll)1e18 + 1;
const ll mod = (ll)1e9 + 7, MAXN = (ll)101;
bool used[MAXN][MAXN];
char a[MAXN][MAXN];
char s[MAXN];
int main () {
sped_up;
ll n, m, k;
cin >> n >> m >> k;
ll cnt = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
for (int i = 1; i <= k; i++) {
cin >> s[i];
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
ll no = 0;
ll x = j, y = i;
if (a[y][x] == '#') continue;
for (int l = 1; l <= k; l++) {
if (s[l] == 'N') y--;
if (s[l] == 'S') y++;
if (s[l] == 'W') x--;
if (s[l] == 'E') x++;
if (1 > y || y > n || 1 > x || x > m || a[y][x] == '#') {
no = 1;
break;
}
}
if (no == 0) {
if (used[y][x] == 0) cnt++;
used[y][x] = 1;
}
}
}
cout << cnt;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |