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

Thu gom vỏ chai

Đề bài

Mô tả

Adil và Bera đi thu gom vỏ chai ở công viên trong ngày hội tái chế. Công viên được mô tả như mặt phẳng tọa độ: Adil đứng ở vị trí (ax,ay), Bera đứng ở vị trí (bx,by), thùng rác tái chế đặt tại (tx,ty). Trên mặt đất có n vỏ chai, vỏ chai thứ i nằm ở vị trí (xi,yi).

Mỗi người chỉ mang được một vỏ chai mỗi lượt. Quá trình của mỗi người diễn ra như sau:

  1. Chọn dừng lại hoặc tiếp tục nhặt vỏ chai.
  2. Nếu tiếp tục, chọn một vỏ chai còn trên mặt đất và đi thẳng tới đó.
  3. Nhặt vỏ chai đó rồi đi thẳng tới thùng rác để bỏ vào.
  4. Quay lại bước 1.

Hai người di chuyển độc lập, có thể nhặt đồng thời; mỗi vỏ chai có thể do bất kỳ ai nhặt, và một người có thể đứng yên hoàn toàn trong khi người kia làm việc.

Hãy tính tổng quãng đường nhỏ nhất mà hai người cần đi (tổng quãng đường của Adil cộng quãng đường của Bera) sao cho cuối cùng mọi vỏ chai đều nằm trong thùng rác.

Dữ liệu vào

  • Dòng đầu chứa sáu số nguyên ax,ay,bx,by,tx,ty: vị trí ban đầu của Adil, Bera và thùng rác.
  • Dòng thứ hai chứa số nguyên n: số vỏ chai.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên xi,yi: vị trí vỏ chai thứ i.

Dữ liệu ra

In ra một số thực duy nhất: tổng quãng đường nhỏ nhất. Kết quả được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá 106.

Ràng buộc

  • 0ax,ay,bx,by,tx,ty109
  • 1n105
  • 0xi,yi109
  • Vị trí của Adil, Bera, thùng rác và tất cả vỏ chai đôi một phân biệt.

Ví dụ

Input Output Giải thích
3 1 1 2 0 0
3
1 1
2 1
2 3
11.084259940 Adil đi nhặt vỏ chai (2,1) rồi (2,3); Bera nhặt vỏ chai (1,1). Tổng quãng đường xấp xỉ 11.084.
5 0 4 2 2 0
5
5 2
3 0
5 5
3 5
3 3
33.121375178 Hai người chia nhau nhặt 5 vỏ chai sao cho tổng quãng đường nhỏ nhất, xấp xỉ 33.121.

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