Hoàng Tử Cứu Công Chúa
Công chúa bị Mụ phù thủy giam trong một tòa lâu đài kiên cố có N lớp cổng. Để vào lâu đài cứu Công chúa, Hoàng tử phải vượt qua được tất cả những lớp cổng này. Ở mỗi cổng đều có một người gác cổng. Có 3 loại cổng:
- Cổng giao thương (Business Gate): Người gác cổng là một tên lái buôn, để qua cổng, Hoàng tử phải mua hàng của tên lái buôn với số tiền = đơn giá * số hàng.
- Cổng học thuật (Academic Gate): Người gác cổng là một nhà hiền triết, để qua cổng, Hoàng tử phải trả lời được câu hỏi của nhà hiền triết. Câu hỏi có một chỉ số trí tuệ, Hoàng tử cần có chỉ số trí tuệ cao hơn hoặc bằng để trả lời đúng câu hỏi.
- Cổng sức mạnh (Power Gate): Người gác cổng là một dũng sĩ, để qua cổng, Hoàng tử phải đánh thắng được dũng sĩ.
Bảng tóm tắt thông tin các loại cổng:
| Loại cổng |
Người gác |
Điều kiện qua cổng |
| Giao thương |
Tên lái buôn |
Mất tiền = đơn giá * số hàng |
| Học thuật |
Nhà hiền triết |
Trí tuệ >= trí tuệ câu hỏi |
| Sức mạnh |
Dũng sĩ |
Mất sức = sức mạnh dũng sĩ |
Yêu cầu:
Áp dụng kiến thức lập trình hướng đối tượng (kế thừa, đa hình) để thiết kế sơ đồ chi tiết các lớp đối tượng.
Xây dựng chương trình thực hiện các yêu cầu sau:
- Nhập vào danh sách N cổng của lâu đài.
- Nhập vào ba thông số ban đầu của Hoàng tử là: số tiền, chỉ số trí tuệ, chỉ số
sức mạnh. Chương trình sẽ cho biết với những thông số này, Hoàng tử có cứu
được Công chúa không. Nếu cứu được thì chương trình tiếp tục cho biết ba
thông số còn lại của Hoàng tử.