Submission #1331498

#TimeUsernameProblemLanguageResultExecution timeMemory
1331498AzeTurk810Game (IOI14_game)C++20
100 / 100
201 ms15944 KiB
#include "game.h"
#include <algorithm>
#include <cassert>
#include <iostream>
#include <iterator>
#include <ostream>
#include <utility>
#include <vector>

int N;
std::vector<std::vector<int>> asked;
std::vector<int> indeg, used;
int cnt;
void initialize(int _n) {
    N = _n;
    asked.resize(N, std::vector<int>(N));
    indeg.assign(N, false);
    used.assign(N, false);
    cnt = N - 1;
}

int hasEdge(int u, int v) {
    if (u > v)
        std::swap(u, v);
    assert(!asked[v][u]);
    asked[v][u] = true;
    // std::cerr << v << "| " << indeg[v] << '\n';
    if (indeg[v] == v - 1)
        return true;
    else {
        indeg[v] ++;
        return false;
    }
    std::cerr << indeg[u] << ' ' << indeg[v] << '\n';
    return false;
}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...