Submission #1301129

#TimeUsernameProblemLanguageResultExecution timeMemory
1301129sanoConnecting Supertrees (IOI20_supertrees)C++20
0 / 100
1 ms340 KiB
// Source: https://usaco.guide/general/io #include <iostream> // cin, cout #include <vector> // vector #include <string> // string #include <set> #include "supertrees.h" #define vec vector #define mod 1000000007 #define For(i,n) for(int i = 0; i < n; i++) using namespace std; int construct(vec<vec<int>>p){ int n = p.size(); vec<vec<int>> odp(n, vec<int>(n)); vec<vec<int>> comp; vec<int> kde(n, -1); For(i, n){ int zakl = 0; if(kde[i] == -1){ vec<int> s; s.push_back(i); comp.push_back(s); kde[i] = comp.size() - 1; zakl = 1; } int poc = 0; For(j, n){ if(p[i][j] == 0) continue; poc++; if(kde[j] == -1){ if(zakl){ kde[j] = kde[i]; comp[kde[i]].push_back(j); } else{ return 0; } } if(kde[j] != kde[i]){ return 0; } } if(poc != comp[kde[i]].size()) return 0; } For(i, comp.size()){ if(comp[i].size() < 3) return 0; For(j, comp[i].size() - 1){ odp[comp[i][j]][comp[i][j+1]] = 1; odp[comp[i][j+1]][comp[i][j]] = 1; } int pos = comp[i][comp[i].size()-1]; int prvy = comp[i][0]; odp[pos][prvy] = 1; odp[prvy][pos] = 1; } build(odp); return 1; } /* int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); return 0; }*/
#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...