Tinkoff Challenge – Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2), problem: (D) Labelling Cities Solution In C/C++

#include<bits/stdc++.h>
#define MAXN 300100
using namespace std;
struct node{int y,next;}e[MAXN<<1];
int n,m,len,Link[MAXN],p[MAXN],hash[MAXN],col[MAXN],vis[MAXN],used[MAXN<<1];
inline int read(){
int x=0,f=1; char ch=getchar();
while(!isdigit(ch)) {if(ch==’-‘) f=-1; ch=getchar();}
while(isdigit(ch)) {x=x*10+ch-‘0’; ch=getchar();}
return x*f;
}
void insert(int x,int y){e[++len].next=Link[x];Link[x]=len;e[len].y=y;}
void dfs(int x){
vis[x]=1;
for(int i=Link[x];i;i=e[i].next)if(hash[e[i].y]==hash[x])col[e[i].y]=col[x];
for(int i=Link[x];i;i=e[i].next)if(!vis[e[i].y]){
if(!col[e[i].y]){
for(int j=col[x]-1;j<=col[x]+1;++j)if(!used[j]){
col[e[i].y]=j; used[j]=1; break;
}
}
dfs(e[i].y);
}
}
int main(){
n=read(); m=read();
for(int i=1;i<=n;++i)p[i]=p[i-1]*31+i;
for(int i=1;i<=n;++i)hash[i]=p[i];
for(int i=1;i<=m;++i){
int x=read(),y=read();
insert(x,y); insert(y,x);
hash[x]+=p[y]; hash[y]+=p[x];
}
col[1]=300001; used[col[1]]=1; vis[1]=1; dfs(1);
for(int i=1;i<=n;++i)if(!col[i]){puts(“NO”);return 0;}
puts(“YES”);
for(int i=1;i<=n;++i)printf(“%d “,col[i]);
printf(“\n”);
return 0;
}

Mall Together-TENOKE

Simulation gaming enthusiasts have a fresh operational challenge to...

7 Reasons This Coffee...

📢 As an Amazon Associate, I earn from qualifying...

Why Kitchen Organization Tools...

📢 As an Amazon Associate, I earn from qualifying...

Is Dorm Room Hacks...

📢 As an Amazon Associate, I earn from qualifying...

Stop Buying Cheap Alternatives...

📢 As an Amazon Associate, I earn from qualifying...

Everything You Need to...

📢 As an Amazon Associate, I earn from qualifying...

Mall Together-TENOKE

Simulation gaming enthusiasts have a fresh operational challenge to tackle with the arrival of Mall Together-TENOKE. This brand-new release delivers an immersive shopping mall...

7 Reasons This Coffee Bar Accessories Is Worth Every Single Penny

📢 As an Amazon Associate, I earn from qualifying purchases.There comes a point when you realise that tolerating a frustrating situation is costing you...

Why Kitchen Organization Tools Is Currently Breaking the Internet

📢 As an Amazon Associate, I earn from qualifying purchases.There comes a point when you realise that tolerating a frustrating situation is costing you...

Is Dorm Room Hacks Worth Your Money Here Is Our Full Review

📢 As an Amazon Associate, I earn from qualifying purchases.If you had told me six months ago that a single purchase would change how...

Stop Buying Cheap Alternatives This Camping Essentials Is the Real Deal

📢 As an Amazon Associate, I earn from qualifying purchases.There comes a point when you realise that tolerating a frustrating situation is costing you...

Everything You Need to Know About Outdoor Patio Tech Right Now

📢 As an Amazon Associate, I earn from qualifying purchases.I'll be honest — I was skeptical at first. My daily routine had a gap...

Why Bathroom Organization Hacks Is Currently Breaking the Internet

📢 As an Amazon Associate, I earn from qualifying purchases.I'll be honest — I was skeptical at first. My daily routine had a gap...

Why Electric Cleaning Tools Is Currently Breaking the Internet

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Electric Cleaning Tools?The Electric Cleaning Tools...

Everything You Need to Know About Portable Cooling Gear Right Now

📢 As an Amazon Associate, I earn from qualifying purchases.💰 Official Price: Check on Amazon🌟 Why Buy the Portable Cooling Gear?The Portable Cooling Gear...