Submission #1211550

#TimeUsernameProblemLanguageResultExecution timeMemory
1211550Ghulam_JunaidSpeedrun (RMI21_speedrun)C++20
8 / 100
54 ms508 KiB
#include <bits/stdc++.h>
#include "speedrun.h"
// #include "grader.cpp"
using namespace std;

const int N = 1005;
int n, len;
vector<int> g[N];

void give(int v, int val){
    for (int i = 0; i < len; i ++)
        setHint(v, i + 1, bool((1 << i) & val));
}

void assignHints(int subtask, int nn, int A[], int B[]) {
    int n = nn;
    for (int i = 1; i < n; i ++){
        if (A[i] > B[i]) swap(A[i], B[i]);
        g[A[i]].push_back(B[i]);
        g[B[i]].push_back(A[i]);
    }

    if (subtask == 2){
        int x = 1;
        if (n >= 3){
            if (A[1] == A[2])
                x = A[1];
            else if (A[1] == B[2])
                x = A[1];
            else
                x = B[1];
        }

        len = 20;
        setHintLen(len);

        for (int v = 1; v <= n; v ++)
            give(v, x);
        return ;
    }
}

vector<int> extract(){
    vector<int> info;

    int val = 0;
    for (int i = 0; i < len; i ++){
        val += (1 << (i % 10)) * getHint(i + 1);
        if (i % 10 == 9){ 
            info.push_back(val);
            val = 0;
        }
    }
    return info;
}

void speedrun(int subtask, int N, int start) {
    len = getLength();
    vector<int> vec;

    if (subtask == 2){
        vec = extract();
        int x = vec[0];
        goTo(x);
        for (int i = 1; i <= N; i ++){
            goTo(i);
            goTo(x);
        }
        return;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...