TGB Contest 1 - Jelly Bear

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bạn được cho một đơn đồ thị vô hướng có ~n~ đỉnh - được đánh số từ ~1~ tới ~n~, và ~m~ cạnh.

Yêu cầu: In ra một đồ thị con của đồ thị đã cho sao cho:

  • Mọi đỉnh của đồ thị con này có bậc là lẻ.
  • Hoặc xác định không tồn tại đồ thị con thỏa mãn yêu cầu.
    • Trong bài tập này, đồ thị ~A = (V_A, E_A)~ là đồ thị con của đồ thị ~B = (V_B, E_B)~ nếu và chỉ nếu ~V_A = V_B~ và ~E_A \subseteq E_B~. Nếu có nhiều đáp án, in đáp án bất kỳ.

Input

  • Dòng đầu chứa số nguyên dương ~t~ là số bộ test (~t \leq 20~).
  • ~t~ nhóm dòng sau, mỗi nhóm dòng có định dạng:
    • Dòng đầu chứa 2 số nguyên dương ~n, m\ (1 \leq n, m \leq 4 \times 10^5)~.
    • ~m~ dòng tiếp theo, mỗi dòng chứa 2 số nguyên dương ~u,v~ biểu diễn ~1~ cạnh vô hướng ~(u, v)\ \newline (1 \leq u, v \leq n)~. Đảm bảo đơn đồ thị.

Đảm bảo tổng giá trị của ~n,m~ qua tất cả ~t~ bộ test không vượt quá ~4 \times 10^5~.

Output

  • Nếu không tồn tại, xuất 1 dòng duy nhất in NO.
  • Nếu tồn tại, dòng đầu in YES. Dòng tiếp in ~k\ (0 \leq k \leq m)~ là số lượng cạnh của đồ thị con. ~k~ dòng tiếp theo mỗi dòng in 2 số "~u\ v~" là cạnh của đồ thị con này.

Sample

Sample Input 1

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

Sample Output 1

NO
YES
3
1 5
3 2
4 6

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.