Submission #1291784

#TimeUsernameProblemLanguageResultExecution timeMemory
1291784lucasdmyConnecting Supertrees (IOI20_supertrees)C++20
11 / 100
100 ms26140 KiB
#include "supertrees.h" #include <bits/stdc++.h> using namespace std; const int MAXN=1010; vector<vector<int>>answer, v; vector<int>marc(MAXN); int n, l; void dfs(int x, int p){ answer[x][p]=1; answer[p][x]=1; marc[x]=1; l=x; for(int k=0;k<n;k++){ if(v[x][k]==2 and marc[k]==0){ dfs(k, x); }else if(v[x][k]==1 and marc[k]==0){ answer[x][k]=1; answer[k][x]=1; marc[k]=1; } } } /*void build(vector<vector<int>>p){ for(int k=0;k<n;k++){ for(int i=0;i<n;i++){ cout<<p[k][i]<<' '; } cout<<endl; } }*/ int construct(vector<vector<int>>p){ n=p.size(); v=p; for(int k=0;k<n;k++){ vector<int>row; row.resize(n); answer.push_back(row); } for(int k=0;k<n;k++){ for(int i=0;i<n;i++){ answer[k][i]=0; } } for(int k=0;k<n;k++){ if(marc[k]==0){ dfs(k, k); answer[k][l]=1; answer[l][k]=1; } } for(int k=0;k<n;k++){ answer[k][k]=0; } build(answer); return 1; } /*int main(){ cin>>n; vector<vector<int>>in(n, vector<int>(n)); for(int k=0;k<n;k++){ for(int i=0;i<n;i++){ cin>>in[k][i]; } } cout<<construct(in); }*/
#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...