Submission #970443

#TimeUsernameProblemLanguageResultExecution timeMemory
970443AiperiiiNautilus (BOI19_nautilus)C++14
100 / 100
149 ms1116 KiB
#include <bits/stdc++.h> #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() using namespace std; bitset <505*505> dp,a; signed main(){ ios_base::sync_with_stdio(); cin.tie(0);cout.tie(0); int n,m,k; cin>>n>>m>>k; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ char x; cin>>x; if(x=='.')dp[i*(m+2)+j]=a[i*(m+2)+j]=1; } } string s; cin>>s; for(int i=0;i<k;i++){ if(s[i]=='W')dp=((dp>>1)&a); else if(s[i]=='E')dp=((dp<<1)&a); else if(s[i]=='S')dp=((dp<<(m+2))&a); else if(s[i]=='N')dp=((dp>>(m+2))&a); else dp=(((dp>>(m+2))|(dp<<(m+2))|(dp>>1)|(dp<<1))&a); } int res=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(dp[i*(m+2)+j])res++; } } cout<<res<<"\n"; } /* 3 0 9 8 1 13 7 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...