# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
139813 | 2019-08-01T13:09:28 Z | ae04071 | Nautilus (BOI19_nautilus) | C++11 | 1000 ms | 2812 KB |
#include <bits/stdc++.h> using namespace std; int n,m,l,dp[2][510][510]; int dy[]={0,-1,0,0,1},dx[]={0,0,-1,1,0}; char str[511][511],arr[5010]; inline int get(char ch) { switch(ch) { case 'N': return 1; case 'W': return 2; case 'E': return 3; case 'S': return 4; default: return 0; } } int main() { scanf("%d%d%d",&n,&m,&l); for(int i=1;i<=n;i++) scanf("%s",str[i]+1); scanf("%s",arr); memset(dp,-1,sizeof(dp)); for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) { str[i][j] = str[i][j]=='.'; if(str[i][j]) dp[0][i][j]=0; } for(int i=0;i<l;i++) arr[i] = get(arr[i]); int cur=1,pr=0; for(int k=0;k<l;k++) { if(arr[k]) { for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) if(dp[pr][i][j]==k) { int yy=i+dy[arr[k]],xx=j+dx[arr[k]]; if(str[yy][xx]) dp[cur][yy][xx]=k+1; } } else { for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) if(dp[pr][i][j]==k) for(int t=1;t<=4;t++) { int yy=i+dy[t],xx=j+dx[t]; if(str[yy][xx]) dp[cur][yy][xx]=k+1; } } swap(cur,pr); } int ans=0; for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) if(dp[pr][i][j]==l) ans++; printf("%d\n",ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 2552 KB | Output is correct |
2 | Correct | 6 ms | 2428 KB | Output is correct |
3 | Correct | 5 ms | 2424 KB | Output is correct |
4 | Correct | 5 ms | 2424 KB | Output is correct |
5 | Correct | 5 ms | 2452 KB | Output is correct |
6 | Correct | 5 ms | 2424 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 2552 KB | Output is correct |
2 | Correct | 6 ms | 2428 KB | Output is correct |
3 | Correct | 5 ms | 2424 KB | Output is correct |
4 | Correct | 5 ms | 2424 KB | Output is correct |
5 | Correct | 5 ms | 2452 KB | Output is correct |
6 | Correct | 5 ms | 2424 KB | Output is correct |
7 | Correct | 16 ms | 2424 KB | Output is correct |
8 | Correct | 9 ms | 2424 KB | Output is correct |
9 | Correct | 6 ms | 2396 KB | Output is correct |
10 | Correct | 5 ms | 2424 KB | Output is correct |
11 | Correct | 5 ms | 2424 KB | Output is correct |
12 | Correct | 24 ms | 2424 KB | Output is correct |
13 | Correct | 23 ms | 2424 KB | Output is correct |
14 | Correct | 19 ms | 2428 KB | Output is correct |
15 | Correct | 5 ms | 2424 KB | Output is correct |
16 | Correct | 5 ms | 2424 KB | Output is correct |
17 | Correct | 30 ms | 2552 KB | Output is correct |
18 | Correct | 29 ms | 2424 KB | Output is correct |
19 | Correct | 17 ms | 2460 KB | Output is correct |
20 | Correct | 7 ms | 2424 KB | Output is correct |
21 | Correct | 5 ms | 2428 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 2552 KB | Output is correct |
2 | Correct | 6 ms | 2428 KB | Output is correct |
3 | Correct | 5 ms | 2424 KB | Output is correct |
4 | Correct | 5 ms | 2424 KB | Output is correct |
5 | Correct | 5 ms | 2452 KB | Output is correct |
6 | Correct | 5 ms | 2424 KB | Output is correct |
7 | Correct | 16 ms | 2424 KB | Output is correct |
8 | Correct | 9 ms | 2424 KB | Output is correct |
9 | Correct | 6 ms | 2396 KB | Output is correct |
10 | Correct | 5 ms | 2424 KB | Output is correct |
11 | Correct | 5 ms | 2424 KB | Output is correct |
12 | Correct | 24 ms | 2424 KB | Output is correct |
13 | Correct | 23 ms | 2424 KB | Output is correct |
14 | Correct | 19 ms | 2428 KB | Output is correct |
15 | Correct | 5 ms | 2424 KB | Output is correct |
16 | Correct | 5 ms | 2424 KB | Output is correct |
17 | Correct | 30 ms | 2552 KB | Output is correct |
18 | Correct | 29 ms | 2424 KB | Output is correct |
19 | Correct | 17 ms | 2460 KB | Output is correct |
20 | Correct | 7 ms | 2424 KB | Output is correct |
21 | Correct | 5 ms | 2428 KB | Output is correct |
22 | Execution timed out | 1025 ms | 2812 KB | Time limit exceeded |
23 | Halted | 0 ms | 0 KB | - |