Cải cách một chiều
Đề bài
Mô tả
Ở vương quốc Berland có thành phố và con đường hai chiều, mỗi con đường nối hai thành phố khác nhau. Giữa mỗi cặp thành phố có nhiều nhất một con đường, và không có con đường nào nối một thành phố với chính nó. Đồ thị đường đi có thể không liên thông.
Bộ trưởng giao thông quyết định cải cách: biến tất cả các con đường thành đường một chiều, tức là gán cho mỗi con đường một hướng. Bộ trưởng muốn tối đa hoá số thành phố mà tại đó số con đường đi ra bằng số con đường đi vào.
Hãy tìm số thành phố lớn nhất đạt được và chỉ ra một cách định hướng tương ứng. Nếu có nhiều phương án, in ra một phương án bất kỳ. Các con đường có thể in theo thứ tự tuỳ ý, nhưng mỗi con đường phải xuất hiện đúng một lần.
Dữ liệu vào
- Dòng đầu chứa số nguyên dương (): số bộ dữ liệu.
- Mỗi bộ dữ liệu có dạng:
- Dòng đầu chứa hai số nguyên và (, ): số thành phố và số con đường.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , (): một con đường nối hai thành phố và .
Dữ liệu ra
Với mỗi bộ dữ liệu:
- Dòng đầu in số thành phố lớn nhất có số đường đi ra bằng số đường đi vào.
- dòng tiếp theo, mỗi dòng in hai số nguyên: thành phố nơi con đường bắt đầu và thành phố nơi con đường kết thúc, mô tả một cách định hướng đạt được giá trị lớn nhất đó.
Ràng buộc
- .
- , .
- Không có khuyên và không có cạnh bội.
- Tổng số thành phố trong tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 5 5 2 1 4 5 2 3 1 3 3 5 7 2 3 7 4 2 |
3 3 2 2 1 1 3 3 5 5 4 3 2 4 3 7 |
Bộ 1: các thành phố và có bậc lẻ nên không thể cân bằng; thành phố còn lại () đều có số đường ra bằng số đường vào. Bộ 2: bốn thành phố có bậc lẻ, đáp án là . |
| 1 5 4 1 2 2 3 2 4 2 5 |
1 1 2 2 3 4 2 2 5 |
Bốn thành phố lá đều có bậc (lẻ) nên không thể cân bằng; chỉ thành phố trung tâm (bậc ) đạt số đường ra bằng số đường vào. |
Bình luận