码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #589 (Div. 2)D(思维,构造)

时间:2019-10-05 10:25:26      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:mes   back   include   timespec   main   codeforce   tor   end   pac   

#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
vector<int>adj[100007];
map<vector<int>,int>mp;
int main(){
int n,m;
scanf("%d%d",&n,&m);
int u,v;
for(int i=1;i<=m;++i){
scanf("%d%d",&u,&v);
adj[u].push_back(v);
adj[v].push_back(u);
}
int type=0;
for(int i=1;i<=n;++i){
if(!adj[i].size()||type>3){//独立点和其他集合的点之间不存在边或者集合多于3个都是-1情况
printf("-1");
return 0;
}
sort(adj[i].begin(),adj[i].end());//全部排为升序才能mp寻值
if(!mp[adj[i]])//与i相连的这组点第一次出现
mp[adj[i]]=++type;//将它们分到一个集合
}
if(type!=3)
printf("-1");
else
for(int i=1;i<=n;++i)
printf("%d ",mp[adj[i]]);
return 0;
}

Codeforces Round #589 (Div. 2)D(思维,构造)

标签:mes   back   include   timespec   main   codeforce   tor   end   pac   

原文地址:https://www.cnblogs.com/ldudxy/p/11624002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!