Submission #1346302

#TimeUsernameProblemLanguageResultExecution timeMemory
1346302nagorn_phGame (APIO22_game)C++20
0 / 100
0 ms344 KiB
#include "game.h"
#include <bits/stdc++.h>
#define int long long
#define emb emplace_back
#define pii pair <int32_t, int32_t>
#define tiii tuple <int32_t, int32_t, int32_t>
#define all(a) a.begin(), a.end()

using namespace std;

const int N = 1e5 + 5;
const int inf = 1e18;

int n, k;
vector <int> adj[N];
bool visited[N];

void init(int32_t nn, int32_t kk) {
    n = nn;
    k = kk;
    for (int i = 1; i < k; i++) adj[i].emb(i + 1);
}

bool dfs(int u){
    visited[u] = 1;
    bool ok = 0;
    for (auto v : adj[u]) {
        if (visited[v] == 1 && v <= k) return 1;
        else if (!visited[v]) ok = ok || dfs(v);
    }
    visited[u] = 2;
    return ok;
}

int32_t add_teleporter(int32_t u, int32_t v) {
    u++, v++;
    adj[u].emb(v);
    for (int i = 1; i <= n; i++) visited[i] = 0;
    return dfs(1);
}
#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...