USACO 2014 - Watering the Fields

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Do thiếu mưa, Farmer John muốn xây dựng một hệ thống tưới tiêu để dẫn nước giữa \(N\) cánh đồng của mình (\(1 \le N \le 2\,000\)).

Mỗi cánh đồng \(i\) được mô tả bởi một điểm \((x_i,y_i)\) riêng biệt trên mặt phẳng hai chiều, với \(0 \le x_i,y_i \le 1\,000\). Chi phí xây dựng một đường ống dẫn nước giữa hai cánh đồng \(i\)\(j\) bằng bình phương khoảng cách Euclid giữa chúng:

\[ (x_i-x_j)^2+(y_i-y_j)^2 \]

FJ muốn xây dựng một hệ thống đường ống có chi phí nhỏ nhất sao cho tất cả các cánh đồng đều được nối với nhau, tức là nước ở một cánh đồng bất kỳ có thể đi theo một dãy đường ống để đến bất kỳ cánh đồng nào khác.

Đáng tiếc, nhà thầu đang giúp FJ lắp đặt hệ thống tưới tiêu từ chối lắp bất kỳ đường ống nào có chi phí (bình phương độ dài Euclid) nhỏ hơn \(C\) (\(1 \le C \le 1\,000\,000\)).

Hãy giúp FJ tính số tiền nhỏ nhất cần trả để nối tất cả các cánh đồng bằng một mạng lưới đường ống.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên \(N\)\(C\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(x_i\)\(y_i\).

Ràng buộc

  • \(1 \le N \le 2\,000\).
  • \(0 \le x_i,y_i \le 1\,000\) và các điểm \((x_i,y_i)\) đôi một khác nhau.
  • \(1 \le C \le 1\,000\,000\).

Dữ liệu ra

In ra chi phí nhỏ nhất của một mạng lưới đường ống nối tất cả các cánh đồng, hoặc \(-1\) nếu không thể xây dựng mạng lưới như vậy.

Ví dụ

Ví dụ 1

Input
3 11
0 2
5 0
4 3
Output
46
Giải thích

\(3\) cánh đồng tại các vị trí \((0,2)\), \((5,0)\)\((4,3)\). Nhà thầu chỉ lắp những đường ống có chi phí ít nhất là \(11\).

FJ không thể xây đường ống giữa hai cánh đồng tại \((4,3)\)\((5,0)\) vì chi phí chỉ là \(10\). Do đó, ông xây một đường ống giữa \((0,2)\)\((5,0)\) với chi phí \(29\), cùng một đường ống giữa \((0,2)\)\((4,3)\) với chi phí \(17\).

Nguồn

USACO 2014 March Contest, Silver — Watering the Fields

Tác giả: Brian Dean, 2014.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: