Submit solution
Points:
0.13 (partial)
Time limit:
0.38s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho đồ thị hai phía ~G=\left(X \cup Y, E \right)~; Các đỉnh của ~X~ ký hiệu là ~x_1, x_2, ..., x_m~, các đỉnh của ~Y~ ký hiệu là ~y_1, y_2, ..., y_n~.
Một bộ ghép trên ~G~ là một tập các cạnh thuộc ~E~ đôi một không có đỉnh chung.
Yêu cầu: Hãy tìm bộ ghép cực đại (có nhiều cạnh nhất) trên G.
Input
- Dòng ~1~: Chứa hai số ~m, n~ ~(1 \leq m, n \leq 100 )~.
- Các dòng tiếp theo, mỗi dòng chứa hai số nguyên dương ~i, j~ cho biết thông tin về một cạnh ~(x_i, y_j)~ thuộc ~E~.
Output
- Dòng 1: Ghi số cạnh trong bộ ghép cực đại tìm được (~K~).
- ~K~ dòng tiếp theo, mỗi dòng ghi thông tin về một cạnh được chọn vào bộ ghép cực đại: Gồm 2 số ~u, v~ thể hiện cho cạnh nối ~(x_u, y_v)~.
Sample Input
4 5
1 1
1 4
2 1
2 2
2 4
3 2
3 3
4 2
4 3
Sample Output
4
1 1
2 4
3 3
4 2
Comments