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

By |2017-07-24T16:39:18+00:00July 24th, 2017|Categories: Uncategorized|Tags: , , , , , , , , , |

#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]){ [...]