trang chủ / bài tập / valpaper

Giấy quý báu

Đề bài

Mô tả

Một quốc gia có N nhà máy và N sân bay. Cần chọn N cặp (nhà máy, sân bay) sao cho mỗi nhà máy được ghép với đúng một sân bay và mỗi sân bay được ghép với đúng một nhà máy.

Vì lý do pháp lý, không phải cặp (sân bay, nhà máy) nào cũng có thể xây dựng đường. Bạn được cho M cặp khả dĩ; với mỗi cặp (u,v) ta biết d — số ngày cần để xây dựng đường nối sân bay u với nhà máy v.

Nếu khởi công xây dựng tất cả các đường được chọn cùng một lúc, thời gian hoàn tất toàn bộ chính là d lớn nhất trong các đường đã chọn. Hãy chọn N cặp sao cho thời gian hoàn tất là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên NM.
  • M dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v, d — mô tả một đường khả dĩ giữa sân bay u và nhà máy v với chi phí d ngày.

Dữ liệu ra

  • Nếu không có cách ghép cặp hợp lệ, in ra 1.
  • Ngược lại, in ra giá trị nhỏ nhất của thời gian hoàn tất (bằng d lớn nhất trong các đường đã chọn).

Ràng buộc

  • 1N104
  • 1M105
  • 1u,vN
  • 1d109
  • Có thể có nhiều đường khác nhau giữa cùng một cặp (u,v).

Ví dụ

Input Output Giải thích
3 5
1 2 1
2 3 2
3 3 3
2 1 4
2 2 5
4 Chọn các đường 12 (1 ngày), 33 (3 ngày) và 21 (4 ngày). Mỗi sân bay được ghép với một nhà máy duy nhất; thời gian hoàn tất là max(1,3,4)=4.
5 9
3 3 8
2 4 7
2 3 6
2 1 9
5 1 3
1 1 6
4 3 6
4 1 2
4 2 3
-1 Nhà máy 5 không xuất hiện ở vế phải của bất kỳ đường nào, nên không thể ghép cặp đầy đủ.
4 9
1 3 1
4 3 8
2 1 3
4 2 5
3 1 3
2 4 9
1 2 7
1 1 10
1 4 9
9 Tồn tại cách ghép (1,3),(2,1),(3,?),(4,?) — nhà máy 4 chỉ xuất hiện qua 24 với chi phí 9, nên giá trị d lớn nhất bắt buộc là 9.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0