Submission #923964

# Submission time Handle Problem Language Result Execution time Memory
923964 2024-02-08T07:04:58 Z Tyx2019 Speedrun (RMI21_speedrun) C++17
Compilation error
0 ms 0 KB
vector<int> adj[1005];
vector<int> dfsorder;
int pararray[1005];
void dfs(int cur, int par){
    cout << "DFSED " << cur << endl;
    pararray[cur]=par;
    dfsorder.push_back(cur);
    for(auto newnode:adj[cur]){
        if(newnode!=par){
            dfs(newnode,cur);
        }
    }
}
void assignHints(int subtask, int N, int A[], int B[]) { 
    //cout << " am i gay " << endl;
    for(int i=1;i<N;i++){
        adj[A[i]].push_back(B[i]);
        adj[B[i]].push_back(A[i]);
    }
    //cout << "yes i am " << endl;
    dfs(1, 1023);
    //cout << "i eat kids" << endl;
    setHintLen(20);
    int nextinline[N+5];
    for(int i=1;i<N;i++){
        nextinline[dfsorder[i-1]]=dfsorder[i];
    }
    //cout << dfsorder.size() << endl;
    //cout << "Sorry i eat kids" << endl;
    nextinline[dfsorder[N-1]]=1023;
    //cout << "sorry what" << endl;
    for(int i=1;i<=N;i++){
        int paren=pararray[i];
        //cout << "PAREN " << paren << "\n";
        for(int j=1;j<=10;j++){

            if((paren&(1<<(j-1)))==0){
                setHint(i,j,false);
                //cout << i << " " << j << " FALSE\n";
            }
            else{
                setHint(i,j,true);
                //cout << i << " " << j << " "<< "TRUE\n";
            }
        }
        int nex=nextinline[i];
        for(int j=1;j<=10;j++){
            if((nex&(1<<(j-1)))==0) setHint(i,j+10,false);
            else setHint(i,j+10,true);
        }
    }
}
 
void speedrun(int subtask, int N, int start) {
    //Get to the root
    int cur=start;
    while(cur!=1){
        //cout << current_node << " curnode\n";
        int paren=0;
        int lol=1;
        for(int i=1;i<=10;i++){
            paren += getHint(i) * lol;
            lol *= 2;
        }
        if(goTo(paren)){
            cur=paren;
            continue;
        }
      	else{
          //cout << paren << " " << cur << endl;
          return;
        }
        cur=paren;
    }
    //cout << "im gay" << endl;
    int parens[N+5];
    for(int j=0;j<N-1;j++){
      	int par=0;
      	int lul=1;
      	for(int i=1;i<=10;i++){
          par += getHint(i)*lul;
          lul*=2;
        }
      	parens[cur]=par;
        int next=0;
        int lol=1;
        for(int i=11;i<=20;i++){
            next += getHint(i) * lol;
            lol *= 2;
        }
        if(goTo(next)){
          cur=next;
        }
        else{
            while(true){
                int backto=parens[cur];
                goTo(backto);
                if(goTo(next)){
                  cur=next;
                  break;
                }
            }
        }
    }
    return;
    //Do the tour
}

Compilation message

speedrun.cpp:1:1: error: 'vector' does not name a type
    1 | vector<int> adj[1005];
      | ^~~~~~
speedrun.cpp:2:1: error: 'vector' does not name a type
    2 | vector<int> dfsorder;
      | ^~~~~~
speedrun.cpp: In function 'void dfs(int, int)':
speedrun.cpp:5:5: error: 'cout' was not declared in this scope
    5 |     cout << "DFSED " << cur << endl;
      |     ^~~~
speedrun.cpp:5:32: error: 'endl' was not declared in this scope
    5 |     cout << "DFSED " << cur << endl;
      |                                ^~~~
speedrun.cpp:7:5: error: 'dfsorder' was not declared in this scope
    7 |     dfsorder.push_back(cur);
      |     ^~~~~~~~
speedrun.cpp:8:22: error: 'adj' was not declared in this scope
    8 |     for(auto newnode:adj[cur]){
      |                      ^~~
speedrun.cpp: In function 'void assignHints(int, int, int*, int*)':
speedrun.cpp:17:9: error: 'adj' was not declared in this scope
   17 |         adj[A[i]].push_back(B[i]);
      |         ^~~
speedrun.cpp:23:5: error: 'setHintLen' was not declared in this scope
   23 |     setHintLen(20);
      |     ^~~~~~~~~~
speedrun.cpp:26:20: error: 'dfsorder' was not declared in this scope
   26 |         nextinline[dfsorder[i-1]]=dfsorder[i];
      |                    ^~~~~~~~
speedrun.cpp:30:16: error: 'dfsorder' was not declared in this scope
   30 |     nextinline[dfsorder[N-1]]=1023;
      |                ^~~~~~~~
speedrun.cpp:38:17: error: 'setHint' was not declared in this scope
   38 |                 setHint(i,j,false);
      |                 ^~~~~~~
speedrun.cpp:42:17: error: 'setHint' was not declared in this scope
   42 |                 setHint(i,j,true);
      |                 ^~~~~~~
speedrun.cpp:48:37: error: 'setHint' was not declared in this scope
   48 |             if((nex&(1<<(j-1)))==0) setHint(i,j+10,false);
      |                                     ^~~~~~~
speedrun.cpp:49:18: error: 'setHint' was not declared in this scope
   49 |             else setHint(i,j+10,true);
      |                  ^~~~~~~
speedrun.cpp: In function 'void speedrun(int, int, int)':
speedrun.cpp:62:22: error: 'getHint' was not declared in this scope
   62 |             paren += getHint(i) * lol;
      |                      ^~~~~~~
speedrun.cpp:65:12: error: 'goTo' was not declared in this scope
   65 |         if(goTo(paren)){
      |            ^~~~
speedrun.cpp:81:18: error: 'getHint' was not declared in this scope
   81 |           par += getHint(i)*lul;
      |                  ^~~~~~~
speedrun.cpp:88:21: error: 'getHint' was not declared in this scope
   88 |             next += getHint(i) * lol;
      |                     ^~~~~~~
speedrun.cpp:91:12: error: 'goTo' was not declared in this scope
   91 |         if(goTo(next)){
      |            ^~~~