# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
300510 | 2020-09-17T08:19:18 Z | nandonathaniel | Connecting Supertrees (IOI20_supertrees) | C++14 | 271 ms | 24036 KB |
#include "supertrees.h" #include "bits/stdc++.h" using namespace std; typedef pair<int,int> pii; const int MAXN=1005; int par[MAXN]; bool idx[MAXN]; vector<int> kel[MAXN]; int find(int x){ if(par[x]==x)return par[x]; return par[x]=find(par[x]); } void join(int a,int b){ int ortua=find(a),ortub=find(b); par[ortua]=ortub; } int construct(vector<vector<int>> p){ vector<pii> nol; vector<vector<int>> ans; int n = p.size(); for(int i=0;i<n;i++)par[i]=i; ans.resize(n); for(int i=0;i<n;i++){ ans[i].resize(n); for(int j=0;j<n;j++){ ans[i][j]=0; if(i==j)continue; if(p[i][j])join(i,j); else if(i<j)nol.push_back({i,j}); } } for(auto isi : nol){ if(find(isi.first)==find(isi.second))return 0; } for(int i=0;i<n;i++)kel[find(i)].push_back(i); for(int i=0;i<n;i++){ if(kel[i].size()<=1)continue; vector<int> satu,dua; for(int j=0;j<kel[i].size();j++){ bool ada=false; for(int k=0;k<kel[i].size();k++){ if(j==k)continue; if(p[kel[i][j]][kel[i][k]]==1){ satu.push_back(kel[i][k]); ada=true; } } if(ada){ satu.push_back(kel[i][j]); break; } } for(int i=0;i<satu.size();i++){ idx[satu[i]]=true; for(int j=0;j<satu.size();j++){ if(i==j)continue; if(p[i][j]!=1)return 0; } } for(auto isi : kel[i]){ if(!idx[isi])dua.push_back(isi); } if(!satu.empty()){ dua.push_back(satu.back()); satu.pop_back(); } if(dua.size()==1 || dua.size()==2)return 0; for(int i=0;i<(int)dua.size()-1;i++){ ans[dua[i]][dua[i+1]]=1; ans[dua[i+1]][dua[i]]=1; } if(!dua.empty()){ ans[dua[0]][dua.back()]=1; ans[dua.back()][dua[0]]=1; } if(!satu.empty() && !dua.empty()){ ans[dua.back()][satu[0]]=1; ans[satu[0]][dua.back()]=1; } for(int i=0;i<(int)satu.size()-1;i++){ ans[satu[i]][satu[i+1]]=1; ans[satu[i+1]][satu[i]]=1; } } build(ans); return 1; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Incorrect | 1 ms | 512 KB | Answer gives possible 0 while actual possible 1 |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Incorrect | 1 ms | 512 KB | Answer gives possible 0 while actual possible 1 |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 512 KB | Output is correct |
2 | Correct | 1 ms | 384 KB | Output is correct |
3 | Correct | 1 ms | 384 KB | Output is correct |
4 | Correct | 1 ms | 384 KB | Output is correct |
5 | Correct | 1 ms | 384 KB | Output is correct |
6 | Correct | 1 ms | 384 KB | Output is correct |
7 | Correct | 1 ms | 384 KB | Output is correct |
8 | Correct | 11 ms | 1368 KB | Output is correct |
9 | Correct | 253 ms | 24036 KB | Output is correct |
10 | Correct | 1 ms | 384 KB | Output is correct |
11 | Correct | 1 ms | 384 KB | Output is correct |
12 | Correct | 11 ms | 1280 KB | Output is correct |
13 | Correct | 262 ms | 22136 KB | Output is correct |
14 | Correct | 1 ms | 384 KB | Output is correct |
15 | Correct | 1 ms | 512 KB | Output is correct |
16 | Correct | 6 ms | 896 KB | Output is correct |
17 | Correct | 131 ms | 14184 KB | Output is correct |
18 | Correct | 1 ms | 384 KB | Output is correct |
19 | Correct | 1 ms | 384 KB | Output is correct |
20 | Correct | 1 ms | 384 KB | Output is correct |
21 | Correct | 66 ms | 6252 KB | Output is correct |
22 | Correct | 255 ms | 23652 KB | Output is correct |
23 | Correct | 252 ms | 24036 KB | Output is correct |
24 | Correct | 269 ms | 22120 KB | Output is correct |
25 | Correct | 119 ms | 16100 KB | Output is correct |
26 | Correct | 115 ms | 15840 KB | Output is correct |
27 | Correct | 252 ms | 24036 KB | Output is correct |
28 | Correct | 271 ms | 22188 KB | Output is correct |
29 | Correct | 112 ms | 16100 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 416 KB | Output is correct |
2 | Correct | 1 ms | 384 KB | Output is correct |
3 | Incorrect | 1 ms | 384 KB | Answer gives possible 0 while actual possible 1 |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Incorrect | 1 ms | 512 KB | Answer gives possible 0 while actual possible 1 |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
2 | Incorrect | 1 ms | 512 KB | Answer gives possible 0 while actual possible 1 |
3 | Halted | 0 ms | 0 KB | - |