Submission #974667

#TimeUsernameProblemLanguageResultExecution timeMemory
974667lucriGame (IOI14_game)C++17
42 / 100
1088 ms2652 KiB
#ifndef _GAME_H
#define _GAME_H
#include<bits/stdc++.h>
std::bitset<1500>d[1510],ac,ant;
int N;
void initialize(int n)
{
    N=n;
    for(int i=0;i<n;++i)
    {
        for(int j=0;j<n;++j)
            d[i][j]=1;
    }
}
int hasEdge(int u, int v)
{
    d[u][v]=d[v][u]=0;
    ac=d[u];
    ant=d[v];
    while(ant!=ac)
    {
        ant=ac;
        for(int i=0;i<N;++i)
            if(ac[i])
                ac|=d[i];
    }
    if(ac[v])
        return 0;
    return 1;
}

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