Submission #1114299

# Submission time Handle Problem Language Result Execution time Memory
1114299 2024-11-18T13:43:25 Z Marco_Escandon Nautilus (BOI19_nautilus) C++11
66 / 100
994 ms 262144 KB
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("Ofast")
typedef int ll;
ll dx[]={1, 0, -1, 0};
ll dy[]={0, 1, 0, -1};
char cad[505][505];
string s;
pair<ll,ll> d(char car)
{
    if(car=='N')
        return {1,0};
    if(car=='S')
        return {-1,0};
    if(car=='W')
        return {0,1};
    if(car=='E')
        return {0,-1};
}
vector<vector<unordered_map<ll,ll>>> mapa;
ll sol(ll px, ll py, ll p)
{
    if(cad[px][py]=='#') return -1;
    if(p==s.size()) return 1;
    if(mapa[px][py][p]!=0) return mapa[px][py][p];
    if(s[p]!='?')
    {
        pair<ll,ll> car=d(s[p]);
        return mapa[px][py][p]=sol(car.first+px,py+car.second,p+1);
    }
    ll bs=-1;
    for(int i=0; i<4; i++){
        bs=max(bs,sol(px+dx[i],py+dy[i],p+1));
        if(bs==1) break;
    }
    return mapa[px][py][p] = bs;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    ll n,m,k;
    cin>>n>>m>>k;
    for(int i=0; i<=n+2; i++)
        for(int j=0;j<=m+2; j++)
            cad[i][j]='#';
 
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            cin>>cad[i][j];
    mapa.assign(505,vector<unordered_map<ll,ll>>(505));
    cin>>s;
    reverse(s.begin(),s.end());
    ll cont=0;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
        {
            cont+=max(sol(i,j,0),0);
        }
    }
    cout<<cont;
    return 0;
}

Compilation message

nautilus.cpp: In function 'll sol(ll, ll, ll)':
nautilus.cpp:24:9: warning: comparison of integer expressions of different signedness: 'll' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     if(p==s.size()) return 1;
      |        ~^~~~~~~~~~
nautilus.cpp: In function 'std::pair<int, int> d(char)':
nautilus.cpp:19:1: warning: control reaches end of non-void function [-Wreturn-type]
   19 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 137 ms 51528 KB Output is correct
2 Correct 22 ms 18512 KB Output is correct
3 Correct 16 ms 16292 KB Output is correct
4 Correct 14 ms 15184 KB Output is correct
5 Correct 13 ms 14672 KB Output is correct
6 Correct 12 ms 14416 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 137 ms 51528 KB Output is correct
2 Correct 22 ms 18512 KB Output is correct
3 Correct 16 ms 16292 KB Output is correct
4 Correct 14 ms 15184 KB Output is correct
5 Correct 13 ms 14672 KB Output is correct
6 Correct 12 ms 14416 KB Output is correct
7 Correct 122 ms 46152 KB Output is correct
8 Correct 22 ms 18168 KB Output is correct
9 Correct 13 ms 15440 KB Output is correct
10 Correct 16 ms 14696 KB Output is correct
11 Correct 13 ms 14416 KB Output is correct
12 Correct 104 ms 40400 KB Output is correct
13 Correct 31 ms 20384 KB Output is correct
14 Correct 24 ms 18768 KB Output is correct
15 Correct 14 ms 15184 KB Output is correct
16 Correct 12 ms 14588 KB Output is correct
17 Correct 97 ms 36516 KB Output is correct
18 Correct 32 ms 20560 KB Output is correct
19 Correct 29 ms 21064 KB Output is correct
20 Correct 21 ms 18088 KB Output is correct
21 Correct 16 ms 14428 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 137 ms 51528 KB Output is correct
2 Correct 22 ms 18512 KB Output is correct
3 Correct 16 ms 16292 KB Output is correct
4 Correct 14 ms 15184 KB Output is correct
5 Correct 13 ms 14672 KB Output is correct
6 Correct 12 ms 14416 KB Output is correct
7 Correct 122 ms 46152 KB Output is correct
8 Correct 22 ms 18168 KB Output is correct
9 Correct 13 ms 15440 KB Output is correct
10 Correct 16 ms 14696 KB Output is correct
11 Correct 13 ms 14416 KB Output is correct
12 Correct 104 ms 40400 KB Output is correct
13 Correct 31 ms 20384 KB Output is correct
14 Correct 24 ms 18768 KB Output is correct
15 Correct 14 ms 15184 KB Output is correct
16 Correct 12 ms 14588 KB Output is correct
17 Correct 97 ms 36516 KB Output is correct
18 Correct 32 ms 20560 KB Output is correct
19 Correct 29 ms 21064 KB Output is correct
20 Correct 21 ms 18088 KB Output is correct
21 Correct 16 ms 14428 KB Output is correct
22 Runtime error 994 ms 262144 KB Execution killed with signal 9
23 Halted 0 ms 0 KB -