Submission #496335

#TimeUsernameProblemLanguageResultExecution timeMemory
496335AQ0212Nautilus (BOI19_nautilus)C++17
0 / 100
3 ms204 KiB
#include <iostream> #include <algorithm> #include <cmath> #include <set> #include <map> #include <vector> #include <string> #include <sstream> #include <cstring> #define ll long long int #define pb push_back #define pf push_front #define fi first #define se second #define all(x) x.begin(), x.end() using namespace std; ll inf2 = 3e18; ll a[ 511 ][ 511 ], ans; string s; int main (){ ll n, m, k; char c; cin >> n >> m >> k; for(int i = 1; i <= n; i ++){ for(int j = 1; j <= m; j ++){ cin >> c; if(c == '#') a[ i ][ j ] = 1; } } cin >> s; for(int i = 1; i <= n; i ++){ for(int j = 1; j <= m; j ++){ if(a[ i ][ j ]) continue; ll x = i, y = j, ch = 0; for(int t = 0; t < k; t ++){ if(s[ t ] == 'N' && x - 1 >= 0){ if(!a[ x - 1 ][ y ]) x --; else{ ch ++; break; } } if(s[ t ] == 'S' && x + 1 <= n){ if(!a[ x + 1 ][ y ]) x ++; else{ ch ++; break; } } if(s[ t ] == 'W' && y - 1 >= 0){ if(!a[ x ][ y - 1 ]) y --; else{ ch ++; break; } } if(s[ t ] == 'E' && y + 1 <= m){ if(!a[ x ][ y + 1 ]) y ++; else{ ch ++; break; } } } if(!ch) ans ++; } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...