Submission #1087725

#TimeUsernameProblemLanguageResultExecution timeMemory
1087725T0p_Connecting Supertrees (IOI20_supertrees)C++14
21 / 100
146 ms24144 KiB
#include "supertrees.h" #include <bits/stdc++.h> using namespace std; const int N = 1000; int tree_parent[N]; int find_tree_parent(int u) { return tree_parent[u] = (u == tree_parent[u]) ? u : find_tree_parent(tree_parent[u]); } int construct(vector<vector<int>> p) { int n = p.size(); vector<vector<int>> ans(n, vector<int>(n)); for (int i=0 ; i<n ; i++) { for (int j=0 ; j<n ; j++) { if (p[i][j] == 3) { return 0; } } } for (int i=0 ; i<n ; i++) { tree_parent[i] = i; } for (int i=0 ; i<n ; i++) { for (int j=i+1 ; j<n ; j++) { if (p[i][j] == 1) { int ii = find_tree_parent(i); int jj = find_tree_parent(j); if (ii != jj) { tree_parent[ii] = jj; ans[i][j] = ans[j][i] = 1; } } } } for (int i=0 ; i<n ; i++) { for (int j=i+1 ; j<n ; j++) { if (p[i][j] == 0) { int ii = find_tree_parent(i); int jj = find_tree_parent(j); if (ii == jj) { return 0; } } } } build(ans); return 1; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...