Problem

Description

给定M个二元组 (Ai,Bi)(A_i, B_i),求 X1,...,XNX_1, ..., X_N 满足:对于任意(A_i, B_i),有 |XAi−XBi|=1|X_{A_i} -X_{B_i}| = 1 成立。

Special Judge

Input

第1行,2个整数N、M。
第2行到第 M+1M + 1 行,2个整数 AiA_i 和 BiB_i 。

Output

第1行,1个字符串,"YES""YES"表示有解,"NO""NO"表示无解。
第2行,N个整数,X1,X2,...,XNX_1, X_2, ..., X_N,无解则不输出。
要求|Xi|<=1,000,000,000|X_i| ,任意一解均可。

Sample Input

Input1:

3 3
1 2
2 3
3 1

Iuput2:

6 5
1 2
2 3
3 4
4 1
5 6

Sample Output

Input1:

NO

Input2:

YES
0 1 0 1 -99 -100

Data Constraint

对于4040%的数据,1<=N<=101 。
对于100100%的数据,1<=N<=10,000,0<=M<=100,000,1<=Ai,Bi<=N1 。

Solution

  • 可以发现答案可以只填两种数,如:1,2,2,1,1······

  • 设数组 fif_i 表示答案序列(这里只填1或2)

  • 即当 fi=1f_i=1 时第 i 位填 1, fi=2f_i=2 时第 i 位填 2,(fi=0f_i=0 时表示第 i 位尚未填)

  • 可以发现当两个点 x,yx,y 有直接关系,则两点填的数互反。

  • 即当 x 填 1 时,y 填 2;或当 x 填 2 时,y 填 1。

  • 冲突当且仅当 fx,fy≠0f_x,f_y≠0 且 fx=fyf_x=f_y

  • 一直填到底若无冲突,即成功。

Code

#include<cstdio>
using namespace std;
int f[10001];
inline int read()
{int data=0; char ch=0;while(ch<'0' || ch>'9') ch=getchar();while(ch>='0' && ch<='9') data=data*10+ch-'0',ch=getchar();return data;
}
int main()
{int n=read(),m=read();for(int i=1;i<=m;i++){int x=read(),y=read();if(!f[x] && !f[y]){f[x]=1;f[y]=2;continue;}if(f[x]==f[y]){printf("NO");return 0;}if(!f[x]) f[x]=3-f[y];if(!f[y]) f[y]=3-f[x];}printf("YES\n");for(int i=1;i<=n;i++) printf("%d ",f[i]);return 0;
}

JZOJ 4822. 【NOIP2016提高A组集训第1场10.29】完美标号相关推荐

  1. JZOJ 4826. 【NOIP2016提高A组集训第2场10.30】小澳的葫芦

    Problem Description 小澳最喜欢的歌曲就是<葫芦娃>. 一日表演唱歌,他尽了洪荒之力,唱响心中圣歌. 随之,小澳进入了葫芦世界. 葫芦世界有n个葫芦,标号为1~ n.n个 ...

  2. jzoj 4883. 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰

    Description 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰,可融真金. 咳咳. 每次核融的时候,空都会选取 ...

  3. 【题解】4879. 【NOIP2016提高A组集训第11场11.9】少女觉

    Description 在幽暗的地灵殿中,居住着一位少女,名为古明地觉. 据说,从来没有人敢踏入过那座地灵殿,因为人们恐惧于觉一族拥有的能力--读心. 掌控人心者,可控天下.   咳咳. 人的记忆可以 ...

  4. 【JZOJ4861】【NOIP2016提高A组集训第7场11.4】推冰块

    题目描述 Dpstr最近迷上了推冰块.冰地是一个n行m列的网格区域,第i行第j列的格子记为(i,j),也就是左上角为(1,1),右下角为(n,m).每个格子可能是冰面.障碍物.减速带三者之一.其中,冰 ...

  5. 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰

    Description 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰,可融真金. 咳咳. 每次核融的时候,空都会选取 ...

  6. JZOJ4883. 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰 2017.10(B组)

    Description 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰,可融真金. 咳咳. 每次核融的时候,空都会选取 ...

  7. 【JZOJ4884】【NOIP2016提高A组集训第12场11.10】图的半径

    题目描述 mhy12345学习了树的直径,于是开始研究图的半径,具体来说,我们需要在图中选定一个地方作为中心,其中这个中心有可能在路径上. 而这个中心的选址需要能够使得所有节点达到这个中心的最短路里面 ...

  8. JZOJ4883. 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰

    题目 20 40 80 100 大致流程 code 题目 Description 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核 ...

  9. 【JZOJ4883】【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰

    题目描述 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰,可融真金. 咳咳. 每次核融的时候,空都会选取一些原子,排成 ...

最新文章

  1. wince5使用access数据库_关于wince系统支持什么数据库的阿里云论坛用户知识和技术交流...
  2. 调试Excel VBA代码
  3. URG与PSH的联系和区别
  4. 批处理解决局域网共享打印机问题
  5. fastadmin token 验证错误_用签名保护你的隐私(4)--token生成
  6. matplotlib绘图相关
  7. execle java,Java使用POI操作Excel
  8. 基于阿里云SDK实现发送短信功能
  9. PHP文件运行步骤及数据库的连接
  10. Unity实现3D模式下的摄像机视角控制
  11. 济南服务器管理系统方案,物品管理系统和物品管理服务器技术方案
  12. ps怎样查看图片坐标
  13. 画小米的新Logo只用border-radius可不行!
  14. 干货|Webhook配置钉钉/飞书机器人告警
  15. 【科创人】维格表创始人陈霈霖:喜茶数字化转型的结晶是vika维格表
  16. 解决浏览器驱动和浏览器版本不匹配的报错:This version of ChromeDriver only supports Chrome version 97
  17. ToggleSwitch控件介绍
  18. CVE-2014-0321漏洞成因分析
  19. 失业在家:有工作能力但是没有工作机会
  20. 阿里巴巴2016算法岗实习招聘(西安)在线笔试整理

热门文章

  1. 机器学习导论(张志华):核定义(2)
  2. Git学习笔记:如何删除GitHub上的项目
  3. openmp使用经验
  4. java五子棋胜负判定_五子棋的判断输赢规则—Java编程(简单优化完整版)
  5. [云炬创业管理笔记]第二章测试2
  6. [云炬创业基础笔记]第二章创业者测试14
  7. [云炬创业基础笔记] 第四章测试1
  8. 科大星云诗社动态20210830
  9. 云炬随笔20211017(1)
  10. 《C++ Primer中文版(第5版)》学习笔记与习题完整发布!