Đếm Cây Khung Nhỏ Nhất
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
4.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Có một lưới ô. Mỗi cặp ô kề nhau (theo hàng hoặc cột) được ngăn cách bởi một cửa có chi phí mở. Bạn cần chọn một tập cửa tối thiểu để tất cả ô thông nhau (cây khung nhỏ nhất). Hãy đếm số cách chọn tập cửa đó (số cây khung nhỏ nhất khác nhau), lấy kết quả modulo .
Dữ liệu vào
- Dòng đầu: hai số nguyên , (, )
- dòng tiếp theo, mỗi dòng số nguyên: chi phí cửa ngang trong hàng đó (từ trái sang phải)
- dòng tiếp theo, mỗi dòng số nguyên: chi phí cửa dọc trong cột đó (từ trên xuống)
Dữ liệu ra
Số cây khung nhỏ nhất, modulo .
Ràng buộc
- ,
- Chi phí cửa:
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 1 1 5 6 7 8 1 1 1 1 1 2 3 4 1 1 1 |
10 | Cây khung nhỏ nhất dùng 9 trong 10 cạnh trọng số 1 và thêm 2 cạnh trọng số 2,3. Có đúng 10 cách chọn cạnh trọng số 1 nào bị bỏ qua. |
Bình luận