Lenient Vertex Cover solution codeforces

Lenient Vertex Cover solution codeforces

You are given a simple connected undirected graph, consisting of nn vertices and mm edges. The vertices are numbered from 11 to nn.

A vertex cover of a graph is a set of vertices such that each edge has at least one of its endpoints in the set.

Let’s call a lenient vertex cover such a vertex cover that at most one edge in it has both endpoints in the set.

Find a lenient vertex cover of a graph or report that there is none. If there are multiple answers, then print any of them.

Input

Lenient Vertex Cover solution codeforces

The first line contains a single integer tt (1t1041≤t≤104) — the number of testcases.

The first line of each testcase contains two integers nn and mm (2n1062≤n≤106n1mmin(106,n(n1)2)n−1≤m≤min(106,n⋅(n−1)2)) — the number of vertices and the number of edges of the graph.

Each of the next mm lines contains two integers vv and uu (1v,un1≤v,u≤nvuv≠u) — the descriptions of the edges.

For each testcase, the graph is connected and doesn’t have multiple edges. The sum of nn over all testcases doesn’t exceed 106106. The sum of mm over all testcases doesn’t exceed 106106.

Output

For each testcase, the first line should contain YES if a lenient vertex cover exists, and NO otherwise. If it exists, the second line should contain a binary string ss of length nn, where si=0si=0 means that vertex ii is in the vertex cover, and si=1si=1 means that vertex ii isn’t. Chef wants to conduct a lecture for which he needs to set up an online meeting of exactly 

XX minutes.

The meeting platform supports a meeting of maximum 3030 minutes without subscription and a meeting of unlimited duration with subscription.

Determine whether Chef needs to take a subscription or not for setting up the meet.

If there are multiple answers, then print any of them.

Examples

Lenient Vertex Cover solution codeforces

input

Copy
4
6 5
1 3
2 4
3 4
3 5
4 6
4 6
1 2
2 3
3 4
1 4
1 3
2 4
8 11
1 3
2 4
3 5
4 6
5 7
6 8
1 2
3 4
5 6
7 8
7 2
4 5
1 2
2 3
3 4
1 3
2 4

output

Copy
YES
001100
NO
YES
01100110
YES
0110

input

Lenient Vertex Cover solution codeforces

Copy
1
10 15
9 4
3 4
6 4
1 2
8 2
8 3
7 2
9 5
7 8
5 10
1 4
2 10
5 3
5 7
2 9

output

Copy
YES
0101100100

input

Copy
1
10 19
7 9
5 3
3 4
1 6
9 4
1 4
10 5
7 1
9 2
8 3
7 3
10 9
2 10
9 8
3 2
1 5
10 7
9 5
1 2

output

Lenient Vertex Cover solution codeforces

Copy
YES
1010000011
Note

Here are the graphs from the first example. The vertices in the lenient vertex covers are marked red.

Solution

Click here

Leave a Comment