# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1114815 | 2024-11-19T16:19:06 Z | kokoue | 슈퍼트리 잇기 (IOI20_supertrees) | C++14 | 1 ms | 336 KB |
#include<bits/stdc++.h> #include "supertrees.h" #define maxn 1010 #define f first #define s second using namespace std; bool is[maxn]; vector<pair<int,int>> comp[maxn]; int par[maxn]; int findd(int u) { if(par[u]==-1) return u; return par[u]=findd(par[u]); } void unite(int u,int v) { u=findd(u); v=findd(v); if(v==u) return; if(comp[u].size()<comp[v].size()) swap(u,v); for(auto e:comp[v]) comp[u].push_back(e); par[v]=u; comp[v].clear(); } vector<vector<int>> d; int construct(vector<vector<int>> p) { int n=p.size(); for(int i=0;i<n;i++) { par[i]=-1; int cntr=0; vector<int> dumbbb(n,0); d.push_back(dumbbb); for(auto e:p[i]) { if(e==1) cntr++; } if(cntr==1) is[i]=1; comp[i].push_back({is[i],i}); } for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(p[i][j]) unite(i,j); } } for(int i=0;i<n;i++) { if(comp[i].size()==0) continue; sort(comp[i].rbegin(),comp[i].rend()); int prev=-1; int last=-1; int fir=-1; for(auto e:comp[i]) { if(e.f==1) last=e.s; if(prev==-1) { prev=e.s; continue; } d[prev][e.s]=1; d[e.s][prev]=1; } if(last==-1) { d[comp[i][comp[i].size()-1].s] [comp[i][0].s]=1; d[comp[i][0].s] [comp[i][comp[i].size()-1].s]=1; } else { d[comp[i][comp[i].size()-1].s] [last]=1; d[last] [comp[i][comp[i].size()-1].s]=1; } } return 0; build(d); return 1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 336 KB | Answer gives possible 0 while actual possible 1 |
2 | Halted | 0 ms | 0 KB | - |