Submission #855533

# Submission time Handle Problem Language Result Execution time Memory
855533 2023-10-01T11:50:30 Z lolismek Speedrun (RMI21_speedrun) C++14
0 / 100
123 ms 1660 KB
#include "speedrun.h"

using namespace std;

#include <vector>
#include <set>
#include <iostream>

const int NMAX = 1001;

vector <int> adj[NMAX + 1];

int dfsTime = 0;

int par[NMAX + 1];
int lin[NMAX + 1];

void dfs(int node, int parent){
    par[node] = parent;
    lin[++dfsTime] = node;
    for(int child : adj[node]){
        if(child != parent){
            dfs(child, node);
        }
    }
}

void assignHints(int subtask, int N, int A[], int B[]){
    for(int i = 1; i <= N - 1; i++){
        adj[A[i]].push_back(B[i]);
        adj[B[i]].push_back(A[i]);
    }

    setHintLen(20);
    dfs(1, 0);

    for(int i = 1; i <= N; i++){
        for(int j = 0; j < 10; j++){
            setHint(lin[i], j + 1, par[lin[i]] & (1 << j));
            setHint(lin[i], j + 1 + 10, lin[i + 1] & (1 << j));
        }
    }
}

set <int> S;
bool w[NMAX + 1];

void speedrun(int subtask, int N, int start){
    int node = start;
    S.insert(node);

    int toTry = 0;
    while((int)S.size() < N){
        int p = 0, x = 0;
        for(int i = 1; i <= 10; i++){
            p += (1 << (i - 1)) * getHint(i);
            x += (1 << (i - 1)) * getHint(i + 10);
        }

        if(toTry == 0){
            toTry = x;
        }

        if(goTo(toTry)){
            node = toTry;
            toTry = 0;
            S.insert(node);
        }else{
            node = p;
            goTo(node);
            S.insert(node);
        }
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 117 ms 884 KB Invalid node index to goTo
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 103 ms 1340 KB Invalid node index to goTo
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 97 ms 916 KB Invalid node index to goTo
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 123 ms 1660 KB Invalid node index to goTo
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 100 ms 1136 KB Invalid node index to goTo
2 Halted 0 ms 0 KB -