제출 #1167018

#제출 시각아이디문제언어결과실행 시간메모리
1167018HappyCapybara게임 (IOI14_game)C++17
100 / 100
275 ms15908 KiB
#include "game.h" #include<bits/stdc++.h> using namespace std; int n; vector<int> p; vector<vector<int>> d; int find(int a){ if (a == p[a]) return p[a]; return p[a] = find(p[a]); } void merge(int a, int b){ a = find(a); b = find(b); p[b] = a; for (int i=0; i<n; i++){ d[a][i] += d[b][i]; d[i][a] = d[a][i]; } } void initialize(int n){ ::n = n; p.resize(n); for (int i=0; i<n; i++) p[i] = i; d.resize(n, vector<int>(n, 1)); for (int i=0; i<n; i++) d[i][i] = 0; } int hasEdge(int u, int v){ u = find(u); v = find(v); d[u][v]--; d[v][u]--; if (d[u][v]) return 0; merge(u, v); return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...