Submission #983829

#TimeUsernameProblemLanguageResultExecution timeMemory
983829vjudge1Game (APIO22_game)C++17
30 / 100
4043 ms3860 KiB
#include "game.h"
#include<bits/stdc++.h>
using namespace std;
const int N = 3e4 + 100;
vector<int> g[N];
int flag = 0;
int k, visited[N], n;

void dfs(int x) {
    visited[x] = 1;
    for (auto to : g[x]) {
        if (!visited[to])
            dfs(to);
        else if (visited[to] == 1 && to < k)
            flag = 1;
    }
    visited[x] = 2;
}

void init(int n, int k) {
    ::k = k;
    ::n = n;
    for (int i = 0; i < k - 1; i++) {
        g[i].push_back(i + 1);
    }
}

int add_teleporter(int u, int v) {
    g[u].push_back(v);
    for (int i = 0; i < n; i++) {
        visited[i] = 0;
    }
    for (int i = 0; i < k; i++) {
        if (!visited[i])
            dfs(i);
    }
    return flag;
}
#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...