# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
300337 | 2020-09-17T05:38:29 Z | nadidadit | Connecting Supertrees (IOI20_supertrees) | C++17 | 0 ms | 0 KB |
#include "supertrees.h" #include <bits/stdc++.h> using namespace std; #define all(c) ((c).begin()), ((c).end()) int construct(vector<vector<int>> p) { int n = p.size(); vector<vector<int>> adj(n, vector<int>(n, 0)); function<void(int, int)> add_edge = [&](int x, int y){ adj[x][y] = adj[y][x] = 1; }; for(int i = 0; i < n; i++){ if(p[i][i] != 1) return 0; for(int j = i + 1; j < n; j++){ if(p[i][j] != p[j][i]) return 0; } } for(int i=0;i<n-1;i++) { adit[i][i+1]=1; adit[i+1][i]=1; } build(adj); return 1; }