제출 #1189074

#제출 시각아이디문제언어결과실행 시간메모리
1189074MoonnNautilus (BOI19_nautilus)C++20
66 / 100
1095 ms4420 KiB
#pragma GCC optimize("O3")//tle? #include<bits/stdc++.h>// #define ll long long #define endl "\n" #define AI ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; vector<ll>pr; vector<ll>ma; void solve() { ll r,c,x,m,i,j; cin>>r>>c>>m; ll dp[r][c][2]; char ar[r][c]; string yol; for(i=0;i<r;i++) { for(j=0;j<c;j++) { cin>>ar[i][j]; dp[i][j][0]=1; if(ar[i][j]=='#') dp[i][j][0]=0; } } cin>>yol; ll say=0; for(x=0;x<m;x++) { say=0; for(i=0;i<r;i++) { for(j=0;j<c;j++) { dp[i][j][(x+1)%2]=0; if(ar[i][j]=='#') continue; if(yol[x]=='?') { if(i!=0 and dp[i-1][j][x%2]) dp[i][j][(x+1)%2]=1; else if(i!=r-1 and dp[i+1][j][x%2]) dp[i][j][(x+1)%2]=1; else if(j!=0 and dp[i][j-1][x%2]) dp[i][j][(x+1)%2]=1; else if(j!=c-1 and dp[i][j+1][x%2]) dp[i][j][(x+1)%2]=1; } else if(yol[x]=='N') { if(i!=r-1 and dp[i+1][j][x%2]) dp[i][j][(x+1)%2]=1; } else if(yol[x]=='S') { if(i!=0 and dp[i-1][j][x%2]) dp[i][j][(x+1)%2]=1; } else if(yol[x]=='W') { if(j!=c-1 and dp[i][j+1][x%2]) dp[i][j][(x+1)%2]=1; } else if(yol[x]=='E') { if(j!=0 and dp[i][j-1][x%2]) dp[i][j][(x+1)%2]=1; } if(dp[i][j][(x+1)%2]) say++; } } } cout<<say; } int main() { AI //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); solve(); }//3 9 5 14
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...