Submission #1269077

#TimeUsernameProblemLanguageResultExecution timeMemory
1269077vukhacminhNautilus (BOI19_nautilus)C++20
66 / 100
96 ms19268 KiB
/** * Author : Vu Khac Minh **/ #include <bits/stdc++.h> #define ll long long using namespace std; const int maxn = 1e5 + 5; const int mod = 1e9+7; int n,m,k,res; string s; bitset<525> dp[525][525]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>m>>k; for(int i =1;i<=n;i++) { for(int j = 1;j<=m;j++) { char c; cin>>c; dp[i][0] <<=1; if (c == '.') dp[i][0] |= 1; } } cin>>s; s = ' ' + s; for(int j = 1;j<=k;j++) { for(int i = 1;i<=n;i++) { if(s[j] == 'E'){ //di sang phai dp[i][j] = (dp[i][j-1] >> 1) & dp[i][0]; } else if(s[j] == 'W'){ //di sang trai dp[i][j] = (dp[i][j-1] << 1) & dp[i][0]; } else if(s[j] == 'S'){ //di xuong dp[i][j] = dp[i-1][j-1] & dp[i][0]; } else if(s[j] == 'N'){ // di len dp[i][j] = dp[i+1][j-1] & dp[i][0]; } else if(s[j] == '?'){ dp[i][j] = ((dp[i][j-1] >> 1) | (dp[i][j-1] << 1) | dp[i-1][j-1] | dp[i+1][j-1]) & dp[i][0]; } } } for (int i = 1; i <= n; i++) res += dp[i][k].count(); cout << res; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...