Submission #1233709

#TimeUsernameProblemLanguageResultExecution timeMemory
1233709jswConnecting Supertrees (IOI20_supertrees)C++20
0 / 100
1 ms320 KiB
#include "supertrees.h"
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
vector<vector<int>>G;
vector<bool>vis;
vector<ll>comp;
vector<vector<ll>>gr;

void dfs(ll cur, ll node){
  vis[node]=1;
  comp[node]=cur;
  gr[cur].push_back(node);
  for(int i=0;i<G.size();i++){
    if(i==node)continue;
    if(G[node][i] && !vis[i])dfs(cur,i);
  }
}

int construct(vector<vector<int>>p){
 vector<vector<int>>b;
 G=p; ll n=p.size();
 comp.resize(n); vis.resize(n); gr.resize(n);
 for(int i=0;i<n;i++){
   b.push_back({});
   for(int j=0;j<n;j++)b[i].push_back(0);
 }
 ll cur=0;
 for(int i=0;i<n;i++){
   if(vis[i])continue;
   dfs(cur,i); cur++;
 }
 ll k;
 for(int i=0;i<cur;i++){
   k=gr[i][0];
   for(int j=1;j<gr[i].size();j++){
     b[k][j]=1;
     b[j][k]=1;
   }
 }
 
 build(b); 
}

Compilation message (stderr)

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:43:1: warning: no return statement in function returning non-void [-Wreturn-type]
   43 | }
      | ^
#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...