# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
385894 | victoriad | Game (IOI14_game) | C++14 | 2 ms | 512 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "game.h"
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <map>
#include <iomanip>
#include <stack>
#include <fstream>
using namespace std;
int a,b,x;
vector<int>g;
void initialize(int n) {
a=-1;
b=-1;
g.assign(n,n-1);
x=(n*(n-1))/2;
}
int hasEdge(int u, int v) {
if(g.size()==4){
if(g[u]>2 && g[v]>2){
g[u]--;
g[v]--;
return 0;
}
else if(g[u]==1 || g[v]==1){
return 1;
}
else if(a!=-1 && b!=-1){
return 1;
}
else if(g[u]==2 && g[v]==2){
if(a==-1 && b==-1){
a=u;
b=v;
g[u]--;
g[v]--;
return 0;
}
else{
return 1;
}
}
else{
if(a==-1){
a=u;
g[u]--;
g[v]--;
return 0;
}
else if(b==-1){
b=u;
g[u]--;
g[v]--;
return 0;
}
else{
return 1;
}
}
}
else{
x--;
if(g[u]>2 && g[v]>2){
g[u]--;
g[v]--;
return 0;
}
else if(g[u]==2 || g[v]==2){
return 1;
}
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |