제출 #283067

#제출 시각아이디문제언어결과실행 시간메모리
283067MohamedAhmed04Simurgh (IOI17_simurgh)C++14
0 / 100
1 ms256 KiB
#include <bits/stdc++.h> #include "simurgh.h" //#include "grader.cpp" using namespace std ; const int MAX = 504 ; int par[MAX] , sz[MAX] ; void init() { for(int i = 0 ; i < MAX ; ++i) par[i] = i , sz[i] = 1 ; } int root(int node) { if(par[node] == node) return node ; return (par[node] = root(par[node])) ; } void Union(int x , int y) { int a = root(x) ; int b = root(y) ; if(sz[a] < sz[b]) swap(a , b) ; par[b] = a ; sz[a] += sz[b] ; } std::vector<int> find_roads(int n, vector<int> u, vector<int> v) { int m = u.size() ; //init() ; vector<int>vv ; vector<int>ans ; for(int i = 0 ; i < m ; ++i) { //if(root(u[i]) == root(v[i])) // continue ; vv.clear() ; for(int j = 0 ; j < n-1 ; ++j) vv.push_back(i) ; int x = count_common_roads(vv) ; if(x) { Union(u[i] , v[i]) ; ans.push_back(i) ; } } return ans ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...