Submission #1166234

#TimeUsernameProblemLanguageResultExecution timeMemory
1166234irmuunNautilus (BOI19_nautilus)C++20
66 / 100
1095 ms2628 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int r,c,m; cin>>r>>c>>m; auto a=vector(r,vector<int>(c)); auto b=vector(r,vector<int>(c)); auto f=vector(r,vector<char>(c)); for(ll i=0;i<r;i++){ for(int j=0;j<c;j++){ char s; cin>>s; f[i][j]=s; if(s=='#') a[i][j]=0; else a[i][j]=1; } } string s; cin>>s; for(int i=0;i<m;i++){ swap(a,b); for(int x=0;x<r;x++){ for(int y=0;y<c;y++){ a[x][y]=0; } } if(s[i]=='N'||s[i]=='?'){//x-- for(int x=1;x<r;x++){ for(int y=0;y<c;y++){ a[x-1][y]|=b[x][y]; } } } if(s[i]=='S'||s[i]=='?'){//x++ for(int x=0;x<r-1;x++){ for(int y=0;y<c;y++){ a[x+1][y]|=b[x][y]; } } } if(s[i]=='W'||s[i]=='?'){//y-- for(int x=0;x<r;x++){ for(int y=1;y<c;y++){ a[x][y-1]|=b[x][y]; } } } if(s[i]=='E'||s[i]=='?'){//y++ for(int x=0;x<r;x++){ for(int y=0;y<c-1;y++){ a[x][y+1]|=b[x][y]; } } } for(int x=0;x<r;x++){ for(int y=0;y<c;y++){ a[x][y]&=(f[x][y]=='.'); } } } int ans=0; for(int i=0;i<r;i++){ for(int j=0;j<c;j++){ ans+=a[i][j]; } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...