제출 #1148079

#제출 시각아이디문제언어결과실행 시간메모리
1148079AlgorithmWarrior게임 (IOI14_game)C++20
100 / 100
200 ms9292 KiB
#include <bits/stdc++.h>
#include "game.h"

using namespace std;

int const MAX=1505;
bool vecF[MAX][MAX];
int candT[MAX];
int muchie;
bool activ[MAX];
int nodes;

void initialize(int n){
    nodes=n;
    int i,j;
    for(i=0;i<n;++i)
        for(j=0;j<n;++j)
            if(i!=j)
                vecF[i][j]=1;
}

int hasEdge(int u, int v){
    ++muchie;
    vecF[u][v]=vecF[v][u]=0;
    int i;
    if(muchie==1){
        activ[u]=activ[v]=1;
        for(i=0;i<nodes;++i)
            if(vecF[u][i])
                ++candT[i];
        for(i=0;i<nodes;++i)
            if(vecF[v][i])
                ++candT[i];
        return 1;
    }
    if(activ[u] || activ[v]){
        if(activ[v])
            swap(u,v);
        --candT[v];
        if(candT[v]==0){
            activ[v]=1;
            for(i=0;i<nodes;++i)
                if(vecF[v][i])
                    ++candT[i];
            return 1;
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...