| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Phần thưởng (DHBB CT '19) | 100 (p) | 1.0s | 1023M |
| 2 | Trò chơi trên dãy số (DHBB CT '19) | 100 (p) | 1.0s | 1023M |
| 3 | Thử nghiệm robot (DHBB CT'19) | 100 (p) | 1.0s | 1023M |
Theo truyền thuyết, vua Sêram rất khâm phục và đã tặng thưởng cho nhà thông thái Sêta vì đã sáng tạo ra cờ vua. Phần thưởng mà Sêta mong muốn là tất cả các hạt lúa mì đặt trên bàn cờ theo quy tắc sau: Ô thứ nhất đặt một hạt, ô thứ hai đặt \(2\) hạt, ô thứ ba đặt \(4\) hạt, …, tiếp tục theo quy luật ô sau có số hạt gấp đôi số hạt của ô trước, cho tới khi đặt đến ô thứ \(64\) trên bàn cờ vua. Rất thích thú với truyền thuyết này, Long và Vân cùng nhau giải quyết bài toán sau:
Xét một bảng số kích thước \(m\) x \(n,\) các hàng được đánh số từ \(1\) đến \(m\) từ trên xuống dưới, các cột được đánh số từ \(1\) đến \(n\) từ trái sang phải. Ô nằm giao giữa hàng \(i\) và cột \(j\) được gọi là ô \((i,\) \(j).\) Với một số nguyên dương \(k\) \((k\) \(\leq\) \(10)\), lần lượt điền các số vào các ô của bảng theo nguyên tắc sau:
Với bộ \(4\) số nguyên dương \((x,\) \(y,\) \(u,\) \(v)\) thỏa mãn \(1\) \(\leq\) \(x\) \(\leq\) \(u\) \(\leq\) \(m\) và \(1\) \(\leq\) \(y\) \(\leq\) \(v\) \(\leq\) \(n,\) hai bạn Long và Vân muốn tính tổng các số nằm trong các ô \((i,\) \(j)\) mà \(x\) \(\leq\) \(i\) \(\leq\) \(u\) và \(y\) \(\leq\) \(j\) \(\leq\) \(v.\)
Yêu cầu: Cho \(7\) số nguyên dương \(m,\) \(n,\) \(k,\) \(x,\) \(y,\) \(u,\) \(v,\) hãy tính tổng các số nằm trong các ô \((i,\) \(j)\) mà \(x\) \(\leq\) \(i\) \(\leq\) \(u\) và \(y\) \(\leq\) \(j\) \(\leq\) \(v\) của bảng số được điền theo quy tắc trên.
Test 1
4 4 2 1 2 2 3
102
Nguồn: 2019 chính thức
Long và Vân cùng nhau chơi trò chơi trên dãy số như sau: Long sẽ chọn một dãy gồm \(n\) số \(a_1, a_2,\dots , a_n\). Sau đó, Vân sẽ tìm cách biến đổi dãy số nguyên \(a_1, a_2,\dots , a_n\) về dãy đẹp bậc \(d\) bằng dãy các bước biến đổi như sau: Mỗi bước, chọn một số trong dãy, tăng hoặc giảm số đó đi một đơn vị. Một dãy \(b_1, b_2,\dots , b_n\) được gọi là dãy đẹp bậc \(d\) nếu \(b_i = b_{i−1} + d\) với \(i = 2, 3,\dots , n\). Cụ thể, dãy \(b_1, b_2 = b_1 + d, … , b_n = b_{n−1} + d\) là dãy đẹp bậc \(d\).
Ví dụ, dãy (\(3, 2, 2\)) với \(d = 1\) mất ít nhất \(3\) phép biến đổi để đưa về dãy (\(1, 2, 3\)) là một dãy đẹp bậc \(1\).
Yêu cầu: Cho dãy số nguyên \(a_1, a_2,\dots , a_n\) và số nguyên dương \(d\), hãy tính số bước ít nhất cần dùng để biến đổi dãy \(a_1, a_2,\dots , a_n\) thành một dãy đẹp bậc \(d\).
Test 1
3 1
3 2 2
3
Nguồn: 2019 chính thức
Công ty Long Vân đang sản xuất robot vận chuyển hàng hóa tự động. Để làm việc đó, công ty tiến hành huấn luyện các robot trên một địa hình được chia thành một lưới các ô vuông gồm \(𝑚\) dòng (đánh số từ 1 đến \(𝑚\) theo chiều từ trên xuống dưới) và \(𝑛\) cột (đánh số từ 1 đến \(n\) theo chiều từ trái sang phải). Ô giao giữa dòng \(i\), cột \(j\) được gọi là ô (\(i, j\)), có độ cao là \(ℎ_{𝑖𝑗}\ (|ℎ_{𝑖𝑗}| \le 10^9)\) và có điểm thưởng là \(𝑠_{𝑖𝑗}\ (|𝑠_{𝑖𝑗}| \le 10^9)\).
Một thử nghiệm cho robot như sau: Đặt robot ở một ô nào đó, điểm thưởng của robot bằng điểm thưởng tại ô được đặt, mỗi bước robot được phép dừng lại hoặc di chuyển sang ô chung cạnh có độ cao cao hơn độ cao của ô hiện tại. Khi robot di chuyển sang ô nào đó, điểm thưởng của robot được cộng một lượng là điểm thưởng tại ô đó.
Yêu cầu: Cho địa hình thử nghiệm robot, hãy tìm vị trí đặt robot và cách di chuyển của robot để khi robot dừng lại, tổng điểm thưởng của robot là lớn nhất.
Test 1
3 4
1 2 3 4
4 5 5 7
8 7 6 5
1 1 1 1
1 1 1 1
1 1 1 1
7