Submission #878007

#TimeUsernameProblemLanguageResultExecution timeMemory
878007vjudge1Nautilus (BOI19_nautilus)C++17
66 / 100
145 ms262144 KiB
//https://vjudge.net/contest/595687#problem/C #include <bits/stdc++.h> using namespace std; int main(){ int R,C,M; cin>>R>>C>>M; char map[R][C]; for(int i=0; i<R; i++){ for(int j=0; j<C; j++){ cin>>map[i][j]; } } string sig; cin>>sig; int soln[R][C][M+1]={0}; for(int i=0; i<=M; i++){ for(int j=0; j<R; j++){ for(int k=0; k<C; k++){ soln[j][k][i]=0; } } } for(int i=0; i<=M; i++){ for(int j=0; j<R; j++){ for(int k=0; k<C; k++){ if(i==0){ if(map[j][k]=='.'){ soln[j][k][i]=1; } continue; } if((sig[i-1]=='N'||sig[i-1]=='?')&&j<R-1){ if(map[j][k]=='.'&&soln[j+1][k][i-1]!=0){ soln[j][k][i]=1; } } if((sig[i-1]=='S'||sig[i-1]=='?')&&j>0){ if(map[j][k]=='.'&&soln[j-1][k][i-1]!=0){ soln[j][k][i]=1; } } if((sig[i-1]=='E'||sig[i-1]=='?')&&k>0){ if(map[j][k]=='.'&&soln[j][k-1][i-1]!=0){ soln[j][k][i]=1; } } if((sig[i-1]=='W'||sig[i-1]=='?')&&k<C-1){ if(map[j][k]=='.'&&soln[j][k+1][i-1]!=0){ soln[j][k][i]=1; } } } } } int counter=0; for(int i=0; i<R; i++){ for(int j=0; j<C; j++){ if(soln[i][j][M]==1){ counter+=1; } } } cout<<counter; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...