You are on page 1of 4

Bài 1.

Chọn tiền xu – Choice


Ở đấ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.

You might also like