Submission #1245701

#TimeUsernameProblemLanguageResultExecution timeMemory
1245701Ice_manSpeedrun (RMI21_speedrun)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;

vector<long long>oiler;
vector<long long>graph[1'000'000];
vector<long long>tree[1'000'000];
bool vis[1'000'000];
long long par[1'000'000];

long long next1[1'000'000];

void dfs(long long x)
{
    vis[x]=true;
    if (oiler.size()!=0)
    {
        next1[oiler.back()]=x;
    }
    oiler.push_back(x);

    for (auto next:graph[x])
    {
        if (vis[next]) dfs(next);
        par[next]=x;
    }
    return;
}


void assignHints(int subtask, int n, int a[], int b[])
{
    setHintLen(20);
    vector<pair<long long, long long>>v;
    for (long long i=1; i<=n; i++)
    {
        v.push_back({a[i], b[i]});
        v.push_back({b[i], a[i]});
        graph[a[i]].push_back(b[i]);
        graph[b[i]].push_back(a[i]);
    }
    for (long long i=1; i<=n; i++) next[i]=0;

    dfs(1);

    for (long long i=1; i<=n; i++)
    {
        long long x=par[i];
        for (long long j=1; j<=10; j++)
        {
            setHint(i, j, x%2);
            x/=2;
        }


        long long x=next[i];
        for (long long j=11; j<=20; j++)
        {
            setHint(i, j, x%2);
            x/=2;
        }
    }
}



void speedrun(int subtask, int n, int start)
{
    long long root=start;

    while (root!=1)
    {
        long long p=0;

        for (long long j=1; j<=10; j++)
        {
            p+=(1<<(j-1))*getHint(j);
        }
        goTo(p);
        root=p;
    }



    while (true)
    {
        long long sled=0;
        for (long long j=11; j<=20; j++)
        {
            sled+=(1<<(j-1))*getHint(j);
        }
        if (sled==0)
        {
            break;
        }
        bool ret=goTo(sled);
        
        if (ret==0)
        {
            while (true)
            {
                pp=0;
                for (long long j=1; j<=10; j++)
                {
                    pp+=(1<<(j-1))*getHint(j);
                }
                goTo(pp);
                if (goTo(sled))
                {
                    break;
                }
            }
        }
    }
    
    return;
}

Compilation message (stderr)

speedrun.cpp: In function 'void assignHints(int, int, int*, int*)':
speedrun.cpp:32:5: error: 'setHintLen' was not declared in this scope
   32 |     setHintLen(20);
      |     ^~~~~~~~~~
speedrun.cpp:41:40: error: invalid types '<unresolved overloaded function type>[long long int]' for array subscript
   41 |     for (long long i=1; i<=n; i++) next[i]=0;
      |                                        ^
speedrun.cpp:50:13: error: 'setHint' was not declared in this scope; did you mean 'stdin'?
   50 |             setHint(i, j, x%2);
      |             ^~~~~~~
      |             stdin
speedrun.cpp:55:19: error: redeclaration of 'long long int x'
   55 |         long long x=next[i];
      |                   ^
speedrun.cpp:47:19: note: 'long long int x' previously declared here
   47 |         long long x=par[i];
      |                   ^
speedrun.cpp:55:25: error: invalid types '<unresolved overloaded function type>[long long int]' for array subscript
   55 |         long long x=next[i];
      |                         ^
speedrun.cpp:58:13: error: 'setHint' was not declared in this scope; did you mean 'stdin'?
   58 |             setHint(i, j, x%2);
      |             ^~~~~~~
      |             stdin
speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:76:27: error: 'getHint' was not declared in this scope; did you mean 'getline'?
   76 |             p+=(1<<(j-1))*getHint(j);
      |                           ^~~~~~~
      |                           getline
speedrun.cpp:78:9: error: 'goTo' was not declared in this scope
   78 |         goTo(p);
      |         ^~~~
speedrun.cpp:89:30: error: 'getHint' was not declared in this scope; did you mean 'getline'?
   89 |             sled+=(1<<(j-1))*getHint(j);
      |                              ^~~~~~~
      |                              getline
speedrun.cpp:95:18: error: 'goTo' was not declared in this scope
   95 |         bool ret=goTo(sled);
      |                  ^~~~
speedrun.cpp:101:17: error: 'pp' was not declared in this scope
  101 |                 pp=0;
      |                 ^~
speedrun.cpp:104:36: error: 'getHint' was not declared in this scope; did you mean 'getline'?
  104 |                     pp+=(1<<(j-1))*getHint(j);
      |                                    ^~~~~~~
      |                                    getline