You are viewing a single comment's thread. Return to all comments →
Runtime error on #11 testcase others are successfully executed
int parent[100001]; int Size[100001];
void make(int n){ for(int i=0;i
int find(int vertex){ if(parent[vertex]==vertex)return vertex; return parent[vertex]=find(parent[vertex]); }
void Union(int a,int b){ a=find(a); b=find(b); if(a==b)return ; if(Size[b]>Size[a])swap(a,b); parent[b]=a; Size[a]+=Size[b]; }
int journeyToMoon(int n, vector> astronaut) { make(n);
for(int i=0;i<astronaut.size();i++){ if(find(astronaut[i][0])!=find(astronaut[i][1])){ Union(astronaut[i][0],astronaut[i][1]); } } long long ans=0; vector<int> a; for(int i=0;i<n;i++){ if(parent[i]==i){ a.push_back(Size[i]); } } for(int i=0;i<a.size();i++){ for(int j=i+1;j<a.size();j++)ans+=(a[i]*a[j]); } return ans;
Seems like cookies are disabled on this browser, please enable them to open this website
Journey to the Moon
You are viewing a single comment's thread. Return to all comments →
Runtime error on #11 testcase others are successfully executed
int parent[100001]; int Size[100001];
void make(int n){ for(int i=0;i
int find(int vertex){ if(parent[vertex]==vertex)return vertex; return parent[vertex]=find(parent[vertex]); }
void Union(int a,int b){ a=find(a); b=find(b); if(a==b)return ; if(Size[b]>Size[a])swap(a,b); parent[b]=a; Size[a]+=Size[b]; }
int journeyToMoon(int n, vector> astronaut) { make(n);