Submission #23692

# Submission time Handle Problem Language Result Execution time Memory
23692 2017-05-21T12:26:43 Z Hiasat Game (IOI14_game) C++14
15 / 100
0 ms 10920 KB
#include "game.h"
#include <iostream>
#include <cstdio>
#include <set>
#include <vector>
#include <assert.h>

using namespace std;

typedef pair<int,int> pii;

int dsu[2010],rem[2010],N,cnt,number;

multiset< pii > st[2010];

int find(int u){
	return dsu[u] == u ? u : dsu[u] = find(dsu[u]);
}
void initialize(int n) {
	N = n;
	number = n;
	for (int i = 0; i < n; ++i){
		dsu[i] = i;
		rem[i] = n-1;
		for(int j = 0 ; j < n ; j++){
			if(j == i)
				continue;
			st[i].insert(make_pair(i,j));
		}
	}
}

bool check(int a){
	return st[a].size() == 1 && st[find((*st[a].begin()).second)].size() == 1;
}
int hasEdge(int u, int v) {
	cnt++;
	int a = find(u);
	int b = find(v);
	if(a == b){
		return 0;
	}
	st[a].erase(make_pair(u,v));
	st[b].erase(make_pair(v,u));
	bool can = st[a].size() == 0 || st[b].size() == 0;
	can = can || check(a);
	can = can || check(b);
	if(can){
		for(set<pii>::iterator it = st[b].begin();it != st[b].end();it++){
			pii cur = *it;
			if(st[a].find(make_pair(cur.second,cur.first)) != st[a].end())
				continue;
			st[a].insert(cur);
		}
		dsu[b] = a;
		return true;
	}
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 10920 KB Output is correct
2 Correct 0 ms 10920 KB Output is correct
3 Correct 0 ms 10920 KB Output is correct
4 Correct 0 ms 10920 KB Output is correct
5 Correct 0 ms 10920 KB Output is correct
6 Correct 0 ms 10920 KB Output is correct
7 Correct 0 ms 10920 KB Output is correct
8 Correct 0 ms 10920 KB Output is correct
9 Correct 0 ms 10920 KB Output is correct
10 Correct 0 ms 10920 KB Output is correct
11 Correct 0 ms 10920 KB Output is correct
12 Correct 0 ms 10920 KB Output is correct
13 Correct 0 ms 10920 KB Output is correct
14 Correct 0 ms 10920 KB Output is correct
15 Correct 0 ms 10920 KB Output is correct
16 Correct 0 ms 10920 KB Output is correct
17 Correct 0 ms 10920 KB Output is correct
18 Correct 0 ms 10920 KB Output is correct
19 Correct 0 ms 10920 KB Output is correct
20 Correct 0 ms 10920 KB Output is correct
21 Correct 0 ms 10920 KB Output is correct
22 Correct 0 ms 10920 KB Output is correct
23 Correct 0 ms 10920 KB Output is correct
24 Correct 0 ms 10920 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 10920 KB Output is correct
2 Correct 0 ms 10920 KB Output is correct
3 Correct 0 ms 10920 KB Output is correct
4 Correct 0 ms 10920 KB Output is correct
5 Correct 0 ms 10920 KB Output is correct
6 Correct 0 ms 10920 KB Output is correct
7 Correct 0 ms 10920 KB Output is correct
8 Correct 0 ms 10920 KB Output is correct
9 Correct 0 ms 10920 KB Output is correct
10 Correct 0 ms 10920 KB Output is correct
11 Correct 0 ms 10920 KB Output is correct
12 Correct 0 ms 10920 KB Output is correct
13 Correct 0 ms 10920 KB Output is correct
14 Correct 0 ms 10920 KB Output is correct
15 Correct 0 ms 10920 KB Output is correct
16 Correct 0 ms 10920 KB Output is correct
17 Correct 0 ms 10920 KB Output is correct
18 Correct 0 ms 10920 KB Output is correct
19 Correct 0 ms 10920 KB Output is correct
20 Correct 0 ms 10920 KB Output is correct
21 Correct 0 ms 10920 KB Output is correct
22 Correct 0 ms 10920 KB Output is correct
23 Correct 0 ms 10920 KB Output is correct
24 Correct 0 ms 10920 KB Output is correct
25 Incorrect 0 ms 10920 KB Output isn't correct
26 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 10920 KB Output is correct
2 Correct 0 ms 10920 KB Output is correct
3 Correct 0 ms 10920 KB Output is correct
4 Correct 0 ms 10920 KB Output is correct
5 Correct 0 ms 10920 KB Output is correct
6 Correct 0 ms 10920 KB Output is correct
7 Correct 0 ms 10920 KB Output is correct
8 Correct 0 ms 10920 KB Output is correct
9 Correct 0 ms 10920 KB Output is correct
10 Correct 0 ms 10920 KB Output is correct
11 Correct 0 ms 10920 KB Output is correct
12 Correct 0 ms 10920 KB Output is correct
13 Correct 0 ms 10920 KB Output is correct
14 Correct 0 ms 10920 KB Output is correct
15 Correct 0 ms 10920 KB Output is correct
16 Correct 0 ms 10920 KB Output is correct
17 Correct 0 ms 10920 KB Output is correct
18 Correct 0 ms 10920 KB Output is correct
19 Correct 0 ms 10920 KB Output is correct
20 Correct 0 ms 10920 KB Output is correct
21 Correct 0 ms 10920 KB Output is correct
22 Correct 0 ms 10920 KB Output is correct
23 Correct 0 ms 10920 KB Output is correct
24 Correct 0 ms 10920 KB Output is correct
25 Incorrect 0 ms 10920 KB Output isn't correct
26 Halted 0 ms 0 KB -