| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Đường đi bộ (THT BC Vòng Tỉnh/TP 2022) | 100 (p) | 1.0s | 256M |
| 2 | Robot (THT BC Vòng Tỉnh/TP 2022) | 100 (p) | 1.0s | 256M |
| 3 | Siêu thị (THT BC Vòng Tỉnh/TP 2022) | 100 (p) | 1.0s | 256M |
Một hội chợ được tổ chức trên một quảng trường hình chữ nhật. Quảng trường được chia thành lưới ô vuông kích thước \(w \times h\). Các hàng được đánh số từ 1 đến \(w\) từ trên xuống dưới, các cột được đánh số từ 1 đến \(h\) từ trái sang phải, ô nằm giao giữa hàng \(i\), cột \(j\) được gọi là ô Ban tổ chức muốn làm hai đường đi bộ trên đó, một đường sẽ được làm song song với chiều dọc của quảng trường, đường còn lại được làm song song với chiều ngang của quảng trường. Đe hai con đường được xây dựng một cách thẩm mĩ, người ta muốn chiều rộng của hai con đường phải bằng nhau. Có \(n\) ô vuông được đặc biệt, Ban tổ chức muốn hai đường đi bộ này cần phải phủ hết \(n\) ô vuông này. Tuy nhiên, kinh phí để trang trí hai con đường này không nhiều, do đó người ta muốn làm hai con đường này có chiều rộng nhỏ nhất có thể.
Yêu cầu: Hãy tìm chiều rộng nhỏ nhất của hai con đường như mô tả trên.
Minh mới tạo ra một robot có khả năng nhận dạng trên sàn và di chuyển theo các chỉ dẫn đó. Sàn là một bảng gồm \(R\) hàng và \(C\) cột. Các hàng được đánh số từ 1 đến \(R\) từ trên xuống duới, các cột đuợc đánh số từ 1 đến \(C\) từ trái sang phải. Ô ở hàng thứ \(u\ (1 \le u \le R)\) và cột thứ \(v\ (1 \le v \le C)\) đuợc gọi là ô (u,v). Mồi ô của bảng sẽ có chỉ dẫn cho buớc đi tiếp theo cho robot.
Ví dụ, bảng phía dưới là một ví dụ.
Minh muốn thử nghiệm đua robot di chuyển từ ô (\(x_s, y_s\)) tới đuợc ô (\(x_t, y_t\)) nhung bảng huớng dẫn có thể không làm cho robot di chuyển đuợc nhu vậy. Bạn đuợc quyền thay đồi huớng dẫn của một số ô để robot có thể đi từ (\(x_s,y_s\)) đến (\(x_t,y_t\)). Nhiệm vụ của bạn là chọn ít nhất các ô và thay đổi chỉ dẫn của các ô này để robot có thể đi từ đi từ (\(x_s,y_s\)) đến (\(x_t,y_t\)). Nếu có nhiều cách thay đổi chỉ dẫn các ô, hãy đếm số cách thay đổi khác nhau. Truờng hợp không cần thay đổi ô nào thì số cách là 1. Nguợc lại, hai cách thay đổi đuợc coi là khác nhau nếu một trong hai điều sau xảy ra:
Test 1
3 4 2
RDRD
RDRD
UUUL
1 1 3 2
1 1 3 4
0 1
1 3
Test 2
2 2 1
UD
RR
1 1 2 2
1 2
Thay đổi chỉ dẫn ô (\(1,1\)) từ U thành R hoặc D đều có thể đưa robot đến đích
Có \(n\) khu vực dân cư, khu vực \(i\) ở vị trí (\(x_i, y_i\)). Người ta muốn đặt \(k\) siêu thị để cung cấp hàng hóa cho \(n\) khu vực dân cư này. Người dân ở khu vực dân cư \(i\) khi mua hàng sẽ chọn siêu thị gần nhất, do đó tiêu chí đánh giá việc đặt \(k\) siêu thị dựa trên giá trị: tổng các khoảng cách của từng khu vực dân cư đến siêu thị gần nhất, giá trị này càng nhỏ càng thể hiện việc chọn là tối ưu.
Yêu cầu: Cho \(n, k\) và tọa độ của \(n\) khu dân cư. Hãy xác định vị trí đặt \(k\) siêu thị để tổng các khoảng cách của từng khu vực dân cư đến siêu thị gần nhất càng nhỏ càng tốt.
Cách tính điểm: Với mỗi test điểm số tính theo công thức dưới đây: \(min\left( 1,\left( \frac{\text{tổng khoảng cách theo phương án của giám khảo}}{\text{tổng khoảng cách theo theo phương án của thí sinh}} \right) \right)^2\)
Test 1
5 2
0 0
1 0
1 1
0 1
9 9
0.5 0.5
9 9