| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 31716 | top34051 | Game (IOI14_game) | C++14 | 0 ms | 19660 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 <bits/stdc++.h>
using namespace std;
#define maxn 1505
int n, ok;
int cnt[maxn];
int edge[maxn][maxn];
vector<int> dst, src;
void gentree() {
int i,a,b;
for(i=1;i<=n;i++) dst.push_back(i);
random_shuffle(dst.begin(),dst.end());
src.push_back(dst[0]);
for(i=1;i<n;i++) {
a = src[rand()%src.size()];
b = dst[i];
src.push_back(b);
edge[a][b] = edge[b][a] = 1;
}
}
void initialize(int N) {
int i,x;
n = N;
if(n>4) gentree();
else if(n<10) printf("%d",1/0);
else {
ok = n*(n-1)/2 - (n-1);
memset(cnt,0,sizeof(cnt));
}
}
int hasEdge(int u, int v) {
if(n>4) return edge[u][v];
if(ok && cnt[u]+1<n-1 && cnt[v]+1!=n-1) {
cnt[u]++; cnt[v]++; ok--;
return 0;
}
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... | ||||
