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;
}

Advertisement

spot_img

Is the Keurig K-Mini...

Keurig K-Mini Long-Term Review: 12 Months of Daily Brewing First-impression...

Can You Make Iced...

How to Brew Refreshing Iced Coffee with the Keurig...

Keurig K-Mini vs Keurig...

Keurig K-Mini vs Keurig K-Slim: Comparing Keurig’s Slimmest Brewers Keurig’s...

Best K-Cup Coffee Pods...

Top Rated K-Cup Coffee Pods for the Keurig K-Mini The...

How to Fix a...

How to Clear Needle Clogs and Fix Slow Flow...

Keurig K-Mini Auto-Off Feature...

Keurig K-Mini Energy Efficiency & Power Consumption Analysis As electricity...

Is the Keurig K-Mini Worth It Long Term? 1-Year Reliability, Durability & Value

Keurig K-Mini Long-Term Review: 12 Months of Daily Brewing First-impression reviews written after three days of testing can tell you how an appliance looks on...

Can You Make Iced Coffee with the Keurig K-Mini? Brew Temperature & Iced Recipes

How to Brew Refreshing Iced Coffee with the Keurig K-Mini During warm summer months, nothing satisfies quite like a tall glass of refreshing iced coffee....

Keurig K-Mini vs Keurig K-Slim: Multi-Cup Reservoir vs Ultra-Compact Brewer

Keurig K-Mini vs Keurig K-Slim: Comparing Keurig’s Slimmest Brewers Keurig’s product catalog features two popular models specifically marketed to space-conscious consumers: the ultra-compact Keurig K-Mini...

Best K-Cup Coffee Pods for Keurig K-Mini: Dark, Medium, Flavored & Decaf Roasts

Top Rated K-Cup Coffee Pods for the Keurig K-Mini The beauty of owning a Keurig K-Mini Single Serve Coffee Maker is universal pod compatibility. Unlike...

How to Fix a Clogged Keurig K-Mini: Exit Needle Cleaning & Troubleshooting Guide

How to Clear Needle Clogs and Fix Slow Flow on the Keurig K-Mini If your Keurig K-Mini suddenly dispenses half a cup of coffee, drips...

Keurig K-Mini Auto-Off Feature and Power Consumption: Energy Efficiency Tested

Keurig K-Mini Energy Efficiency & Power Consumption Analysis As electricity costs rise and consumers increasingly prioritize eco-conscious household appliances, power consumption has become an important...

Keurig K-Mini Dimensions and Cord Storage: Best Compact Coffee Maker for Dorms & RVs

Keurig K-Mini Dimensions & Space-Saving Ergonomics Countertop real estate in modern living spaces has never been tighter. In college dormitories, studio micro-apartments, home office workstations,...

How to Use Reusable K-Cup Coffee Filters with the Keurig K-Mini: Universal Pod Guide

How to Brew Fresh Ground Coffee in Your Keurig K-Mini While pre-packaged K-Cup pods deliver unbeatable morning convenience, they come with two distinct trade-offs: ongoing...

Keurig K-Mini vs Nespresso Vertuo Pop: Compact Coffee Maker Comparison

Keurig K-Mini vs Nespresso Vertuo Pop: The Battle of Compact Brewers Single-serve coffee has evolved into two dominant, competing ecosystems: the versatile, drip-style Keurig K-Cup...