Ở đất nước ABC có một hệ thống tiền bao gồm n đồng xu. Mỗi đồng xu có một giá trị nguyên dương. Giả sử số lượng các đồng xu là vô hạn. Yêu cầu: Hãy chọn ra số lượng đồng xu ít nhất để tạo thành một khoản tiền 𝑥 để thưởng cho nhân dân trong dịp Tết nguyên đán sắp tới. Ví dụ, nếu có các loại tiền xu trị giá {1,5,7} và số tiền mong muốn là 11, ta có một giải pháp tối ưu là 5+5+1 → chọn 3 đồng xu. Dữ liệu vào: từ file MinCoins.inp gồm − Đầu tiên có hai số nguyên n và x: số xu và số tiền mong muốn. − Dòng thứ hai có n số nguyên riêng biệt 𝑐1 , 𝑐2 , … , 𝑐𝑛 : giá trị của mỗi đồng xu. Kết quả: ghi ra file MinCoins.out − In một số nguyên: số xu tối thiểu. Nếu không thể tạo được theo yêu cầu, in ra -1. Ràng buộc • 1 ≤ 𝑛 ≤ 100 • 1 ≤ 𝑥 ≤ 106 • 1 ≤ 𝑐𝑖 ≤ 106 Ví dụ MinCoins.inp MinCoins.out 3 11 3 157
Bài 2. Chọn tiền xu 1 – Coins1.???
Ở đất nước ABC có một hệ thống tiền bao gồm n đồng xu. Mỗi đồng xu có một giá trị nguyên dương. Giả sử số lượng các đồng xu là vô hạn Yêu cầu: Tính số cách mà bạn có thể tạo ra một khoản tiền 𝒙 bằng cách sử dụng các đồng tiền có sẵn trong hệ thống tiền tệ. Ví dụ, nếu ta có các loại tiền xu{ 2 , 3 , 5 } và số tiền mong muốn là 9, có số 8 cách chọn các đồng xu như sau: 2+2+5 2+5+2 5+2+2 3+3+3 2+2+2+3 2+2+3+2 2+3+2+2 3+2+2+2 Dữ liệu vào: từ file Coins1.inp gồm − Đầu tiên có hai số nguyên n và x: số xu và số tiền mong muốn. − Dòng thứ hai có n số nguyên riêng biệt 𝑐1 , 𝑐2 , … , 𝑐𝑛 : giá trị của mỗi đồng xu. Kết quả: ghi ra file Coins1.out − In một số nguyên: số cách modulo 109 + 7. Ràng buộc • 1 ≤ 𝑛 ≤ 100 • 1 ≤ 𝑥 ≤ 106 • 1 ≤ 𝑐𝑖 ≤ 106 Ví dụ Coins1.inp Coins1.out 39 8 235
Bài 3. Chọn tiền xu 2 – Coins2.???
Ở đất nước ABC có một hệ thống tiền bao gồm n đồng xu. Mỗi đồng xu có một giá trị nguyên dương. Giả sử số lượng các đồng xu là vô hạn. Yêu cầu: Tính số cách mà bạn có thể tạo ra một khoản tiền 𝒙 (với cách chọn khác nhau) bằng cách sử dụng các đồng tiền có sẵn. Ví dụ, nếu ta có các loại tiền xu { 2 , 3 , 5 } và số tiền mong muốn là 9, có số 3 cách chọn các đồng xu như sau: 2+2+5 3+3+3 2+2+2+3 Dữ liệu vào: từ file Coins2.inp gồm − Đầu tiên có hai số nguyên n và x: số xu và số tiền mong muốn. − Dòng thứ hai có n số nguyên riêng biệt 𝑐1 , 𝑐2 , … , 𝑐𝑛 : giá trị của mỗi đồng xu. Kết quả: ghi ra file Coins2.out − In một số nguyên: số cách modulo 109 + 7. Ràng buộc • 1 ≤ 𝑛 ≤ 100 • 1 ≤ 𝑥 ≤ 106 • 1 ≤ 𝑐𝑖 ≤ 106 Ví dụ Coins2.inp Coins2.out 39 3 235 Loại bỏ chữ số - MovDigit.??? Cho một số nguyên n. Với lần thực hiện, bạn có thể trừ bất kỳ số một chữ số nào xuất hiện trong số đó. Yêu cầu: Cần thực hiện bao nhiêu bước để số đó về bằng 0? Dữ liệu: đọc vào từ file MOVDIGIT.INP: − Duy nhất có số nguyên n. Kết quả: Ghi ra file MOVDIGIT.OUT − Một số nguyên: số bước tối thiểu. Ràng buộc: 1 ≤ 𝑛 ≤ 106 Ví dụ: MOVDIGIT.INP MOVDIGIT.OUT 27 5 Ta có chuỗi biến đổi như sau: 27 → 20 → 18 → 10 → 9 → 0. Bài 4. Ếch nhảy 1 – Afrog.??? Có N bậc đá, được đánh số từ 1, 2, …N. Mỗi bậc đá 𝑖(1 ≤ 𝑖 ≤ 𝑁) có độ cao ℎ𝑖 Một con ếch đang ở bậc đá thứ nhất. Nó có thể nhảy lên bậc đá tiếp theo bằng 2 cách: - Nếu nó ở hòn đá thứ 𝑖 thì nó có thể nhảy đến hòn đá thứ tự 𝑖 + 1, hoặc hòn đá thứ 𝑖 + 2 - Chí phí cho 1 lần nhảy là |ℎ𝑗 − ℎ𝑖 | với ℎ𝑗 là hòn đá đích mà ếch nhảy tới. Yêu cầu: Tìm chi phí thấp nhất để giúp ếch nhảy đến hòn đá thứ N. Ràng buộc: • Các giá trị là số nguyên. • 2 ≤ 𝑁 ≤ 105 • 1 ≤ ℎ𝑖 ≤ 104 Dữ liệu: đọc vào từ file AFrog.inp gồm: - N – số hòn đá - Dòng tiếp theo là chiều cao của N hòn đá. Kết quả: ghi ra file AFrog.out - Tổng chi phí phát sinh tối thiểu. Ví dụ: AFrog.inp AFrog.out 4 30 1 → 2 → 4, tổng chi phí phát sinh sẽ là |10- 10 30 40 20 30|+|30-20|=30. 6 40 1 → 3 → 5 → 6, tổng chi phí phát sinh sẽ là 30 10 60 10 60 50 |30-60|+|60-60|+|60-50|=40. Bài 5. Ếch nhảy B – Bfrog.??? Có N bậc đá, được đánh số từ 1, 2, …N. Mỗi bậc đá 𝑖(1 ≤ 𝑖 ≤ 𝑁) có độ cao ℎ𝑖 Một con ếch đang ở bậc đá thứ nhất. Nó có thể nhảy lên bậc đá tiếp theo các cách: - Nếu nó ở hòn đá thứ 𝑖 thì nó có thể nhảy đến hòn đá thứ tự 𝑖 + 1, 𝑖 + 2, …. 𝑖 + 𝑘, - Chí phí cho 1 lần nhảy là |ℎ𝑗 − ℎ𝑖 | với ℎ𝑗 là hòn đá đích mà ếch nhảy tới. Yêu cầu: Tìm chi phí thấp nhất để giúp ếch nhảy đến hòn đá thứ N. Ràng buộc: • Các giá trị là số nguyên. • 2 ≤ 𝑁 ≤ 105 • 1 ≤ 𝐾 ≤ 100 • 1 ≤ ℎ𝑖 ≤ 104 Dữ liệu: đọc vào từ file BFrog.inp gồm: - N – số hòn đá, K – số bậc đá tối đa con ếch có thể nhảy qua - Dòng tiếp theo là chiều cao của N hòn đá. Kết quả: ghi ra file BFrog.out - Tổng chi phí phát sinh tối thiểu. Ví dụ: BFrog.inp BFrog.out 53 30 1 → 2 → 5, tổng chi phí phát sinh sẽ là |10- 10 30 40 50 20 30|+|30-20|=30. 10 4 40 1 → 4 → 8 → 10, tổng chi phí phát sinh sẽ là 40 10 20 70 80 10 20 70 80 60 |40−70|+|70−70|+|70−60|=40.
- Dòng 1: Ghi số nguyên dương N là số hàng của tam giác (1 ≤ N ≤ 100) - - Dòng thứ i trong N dòng tiếp theo: Ghi i số nguyên dương lần lượt là giá trị của các ô trên dòng thứ