Bộ ghép đầy đủ trọng số cực tiểu

Xem dạng PDF

Gửi bài giải


Điểm: 0,22 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Sách DSAP của thầy Lê Minh Hoàng , giáo viên khối chuyên Sư Phạm
Dạng bài
Ngôn ngữ cho phép
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_n~, các đỉnh của ~Y~ ký hiệu là ~y_1, y_2, ..., y_n~. Mỗi cạnh của ~G~ được gán một trọng số không âm. Một bộ ghép đầy đủ trên ~G~ là một tập ~n~ cạnh thuộc ~E~ đôi một không có đỉnh chung. Trọng số của bộ ghép là tổng trọng số các cạnh nằm trong bộ ghép.

Input

  • Dòng 1: Chứa số ~n. (1 \leq n \leq 200)~
  • Các dòng tiếp theo, mỗi dòng chứa ~3~ số nguyên ~i, j, c~ cho biết có một cạnh ~( x_i, y_j)~ và trọng số cạnh đó là ~c. (0 \le c \le 200)~

Dữ liệu đảm bảo luôn tồn tại ít nhất một bộ ghép đầy đủ trên ~G~.

Output

  • Dòng ~1~: Ghi trọng số bộ ghép tìm được.
  • ~n~ dòng tiếp theo, mỗi dòng ghi hai số ~(u, v)~ tượng trưng cho một cạnh ~(x_u, y_v)~ được chọn vào bộ ghép.

Sample Input

4
1 1 0
1 2 0
2 1 0
2 4 2
3 2 1
3 3 0
4 3 0
4 4 9

Sample Output

3
1 1
2 4
3 2
4 3

Note

Chú ý dùng Eof chứ không dùng SeekEof.


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.