CF1354E.Graph Coloring
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an undirected graph without self-loops or multiple edges which consists of n vertices and m edges. Also you are given three integers n1 , n2 and n3 .
Can you label each vertex with one of three numbers 1, 2 or 3 in such way, that:
- Each vertex should be labeled by exactly one number 1, 2 or 3;
- The total number of vertices with label 1 should be equal to n1 ;
- The total number of vertices with label 2 should be equal to n2 ;
- The total number of vertices with label 3 should be equal to n3 ;
- ∣colu−colv∣=1 for each edge (u,v) , where colx is the label of vertex x .
If there are multiple valid labelings, print any of them.
输入格式
The first line contains two integers n and m ( 1≤n≤5000 ; 0≤m≤105 ) — the number of vertices and edges in the graph.
The second line contains three integers n1 , n2 and n3 ( 0≤n1,n2,n3≤n ) — the number of labels 1, 2 and 3, respectively. It's guaranteed that n1+n2+n3=n .
Next m lines contan description of edges: the i -th line contains two integers ui , vi ( 1≤ui,vi≤n ; ui=vi ) — the vertices the i -th edge connects. It's guaranteed that the graph doesn't contain self-loops or multiple edges.
输出格式
If valid labeling exists then print "YES" (without quotes) in the first line. In the second line print string of length n consisting of 1, 2 and 3. The i -th letter should be equal to the label of the i -th vertex.
If there is no valid labeling, print "NO" (without quotes).
输入输出样例
输入#1
6 3 2 2 2 3 1 5 4 2 5
输出#1
YES 112323
输入#2
5 9 0 2 3 1 2 1 3 1 5 2 3 2 4 2 5 3 4 3 5 4 5
输出#2
NO