Submission #507380

#TimeUsernameProblemLanguageResultExecution timeMemory
507380MurotYNautilus (BOI19_nautilus)C++14
29 / 100
7 ms372 KiB
#include<bits/stdc++.h> #define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define ff first #define ss second using namespace std; const int N=555; char a[N][N]; int n, m, q; ll ans=0; string s; void rec(ll x, ll y, ll pos){ if (x >= n || x < 0 || y >= m || y < 0 || a[x][y] == '#') return ; // cout << x <<" " << y <<" " << pos <<" " << q <<"\n"; if (pos >= q) { ans++; return ; } if (s[pos] == 'N' || s[pos] == '#') rec(x-1, y, pos+1); if (s[pos] == 'E' || s[pos] == '#') rec(x, y+1, pos+1); if (s[pos] == 'W' || s[pos] == '#') rec(x, y-1, pos+1); if (s[pos] == 'S' || s[pos] == '#') rec(x+1, y, pos+1); return ; } int main() { ios; cin >> n >> m >> q; for (int i=0;i<n;i++) { for (int j=0;j<m;j++) cin >> a[i][j]; } cin >> s; for (int i=0;i<n;i++){ for (int j=0;j<m;j++){ if (a[i][j] != '#'){ rec(i, j, 0); } } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...