Submission #1148077

#TimeUsernameProblemLanguageResultExecution timeMemory
1148077AlgorithmWarriorGame (IOI14_game)C++20
42 / 100
1096 ms103252 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; int const MAX=1505; unordered_set<int>vecF[MAX]; unordered_set<int>candT[MAX]; int muchie; bool activ[MAX]; void initialize(int n){ int i,j; for(i=0;i<n;++i) for(j=0;j<n;++j) if(i!=j) vecF[i].insert(j); } int hasEdge(int u, int v){ ++muchie; vecF[u].erase(v); vecF[v].erase(u); if(muchie==1){ activ[u]=activ[v]=1; for(auto vec : vecF[u]) candT[vec].insert(u); for(auto vec : vecF[v]) candT[vec].insert(v); return 1; } if(activ[u] || activ[v]){ if(activ[v]) swap(u,v); candT[v].erase(u); if(candT[v].empty()){ activ[v]=1; for(auto vec : vecF[v]) candT[vec].insert(v); return 1; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...