Sunday, August 4, 2024
Sponsors

# CodeForces Round #379 (Div. 2), problem: (E) Anton and Tree Solution in C/C++

Hey guys I just tried the Anton and Tree problem , hope you might like my solution feel free to comment better solution .

#include<stdio.h>
#include<stdlib.h>
typedef unsigned u;
u D[222222],C[222222],B[222222],A[222222],I;
u F(u x){if(D[x]!=x)return D[x]=F(D[x]);return x;}
u *G[222222],Ga[222222],Gi[222222];
void add(u i,u j)
{
if(Ga[i]==Gi[i])
{
if(!Ga[i])G[i]=(u*)calloc(Ga[i]=1,sizeof(u));
else G[i]=(u*)realloc(G[i],(Ga[i]<<=1)*sizeof(u));
}
G[i][Gi[i]++]=j;
return;
}
u X[222222],Y[222222],*P,*Q,*R,Z[222222];
int main()
{
u n,i=0,j,k,p,q,r=0;
for(scanf(“%u”,&n);++i<=n;D[i]=i)scanf(“%u”,C+i);
for(k=n;–k;)
{
scanf(“%u%u”,&i,&j);
i=F(i);j=F(j);
if(i>j){q=i;i=j;j=q;}
if(C[i]!=C[j]){A[I]=i;B[I++]=j;}
else{D[j]=i;}
}
for(k=-1;++k<I;)
{
i=F(A[k]);j=F(B[k]);
add(i,j);add(j,i);
++Z[i];++Z[j];
}
for(q=i=0;++i<=n;)if(Z[i]==1)X[q++]=i;
for(P=X,Q=Y;(p=q);)
{
r+=1+(p>1);
for(q=0;p–;)
{
for(i=Gi[k=P[p]];i–;)
if(–Z[j=G[k][i]]==1)Q[q++]=j;
}
R=P;P=Q;Q=R;
}
printf(“%u\n”,r>>1);
return 0;
}

Advertisement

## Celebrating Black History Month:...

As February unfolds, so does the annual celebration of...

## The Path to Self-Mastery:...

Embarking on a journey of self-mastery and breaking free...

## Wizards of Waverly Place...

In a spellbinding announcement, Disney has officially revealed that...

## Jim Irsay’s Reported ‘Suspected...

In a shocking turn of events last month, Jim...

## Coachella 2024: Iconic headliners,...

Coachella Valley Music and Arts Festival, one of the...

## 2024 Taiwan Election: Pivotal...

As Taiwan gears up for its 2024 presidential election,...

### Celebrating Black History Month: Past, Future

As February unfolds, so does the annual celebration of Black History Month, a time to reflect on the profound contributions, resilience, and rich cultural...

### The Path to Self-Mastery: Lessons from Book ‘The Mountain Is You’

Embarking on a journey of self-mastery and breaking free from self-sabotage is a transformative process that requires dedication and conscious effort. Brianna Wiest's insightful...

### Wizards of Waverly Place Cast Reunites for Enchanting Revival

In a spellbinding announcement, Disney has officially revealed that the beloved fantasy series "Wizards of Waverly Place" is set for a magical comeback, featuring...

### Jim Irsay’s Reported ‘Suspected Overdose’: A Closer Look

In a shocking turn of events last month, Jim Irsay, the owner of the Indianapolis Colts, was reportedly found unresponsive at his home in...

### Coachella 2024: Iconic headliners, unforgettable musical experience!

Coachella Valley Music and Arts Festival, one of the most iconic and eagerly anticipated music festivals globally, has just dropped its highly anticipated lineup...

### 2024 Taiwan Election: Pivotal Moment in Political Landscape

As Taiwan gears up for its 2024 presidential election, the political landscape is buzzing with anticipation and fervor. With the island nation situated at...

### Michael Strahan’s Daughter’s Medulloblastoma Diagnosis

In a recent and heartbreaking revelation, Michael Strahan, former NFL star and television personality, shared the devastating news of his daughter Isabella's diagnosis with...

### Michigan vs. Washington: The 2024 National Championship Clash

In a highly anticipated matchup, the 2024 National Championship will witness a clash of football titans as the Michigan Wolverines square off against the...

### Jason Kelce: Unmasking the Unconventional NFL Icon

In the world of professional football, where conformity often takes center stage, one player stands out as a beacon of individuality, both on and...