제출 #993256

#제출 시각아이디문제언어결과실행 시간메모리
993256Newtonabc슈퍼트리 잇기 (IOI20_supertrees)C++14
21 / 100
190 ms22348 KiB
#include "supertrees.h" #include<bits/stdc++.h> using namespace std; const int N=1e3+10; int pa[N]; bool cy[N][N]; int root(int x){ if(pa[x]==x) return x; else return pa[x]=root(pa[x]); } int construct(vector<vector<int> > p) { int n = p.size(); vector<vector<int> > answer; for (int i = 0; i < n; i++) { vector<int> row(n,0); answer.push_back(row); } for(int i=0;i<n;i++) pa[i]=i; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(p[i][j]==1 && root(i)!=root(j)){ answer[i][j]=1; answer[j][i]=1; pa[root(i)]=root(j); } if(p[i][j]==3) return 0; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(p[i][j]==0){ if(root(i)==root(j)) return 0; } } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ int a,b; if(p[i][j]==2){ a=root(i),b=root(j); if(a==b) return 0; answer[a][b]=1; answer[b][a]=1; } } } build(answer); 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...