Hiệp sĩ và Pháp Sư

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 0.05s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Nguyễn Hữu Bảo Lâm
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Một hiệp sĩ dũng cảm dẫn đầu đội quân gồm 40 chiến binh và một pháp sư quyền năng khởi hành từ thung lũng Ánh Sáng để tiêu diệt chúa quỷ trong lâu đài bóng tối sâu thẳm, trải qua 800 phòng thử thách liên tiếp.

Mỗi phòng được mô phỏng ngẫu nhiên với một trong các sự kiện sau (mỗi sự kiện được gán số từ 1 đến 7):

  • Kho báu - Thu thập ngẫu nhiên 30–100 vàng và 20–80 mana. Vàng tối đa 2000, mana tối đa 1500.
  • Đầm lầy độc - Mỗi chiến binh và pháp sư mất 3 HP do độc tố, không thể hồi phục trong phòng này.
  • Phòng quái vật - Xuất hiện 3–15 quái vật, mỗi con có 40 HP, tấn công 15, phòng thủ 5. Mỗi chiến binh chiến đấu với một quái vật. Nếu không đủ chiến binh, pháp sư sẽ chiến đấu thay.
  • Rừng phép thuật - Mỗi người được hồi phục 10 HP (tối đa HP tối đa), pháp sư hồi phục 20 mana.
  • Cơn bão lửa - Mỗi người mất 20 HP, tiêu hao gấp đôi vàng và mana cho việc chữa trị.
  • Phòng ẩn giấu - Có thể lựa chọn nghỉ ngơi hoặc tiếp tục. Nếu nghỉ ngơi, mỗi người hồi 15 HP, pháp sư hồi 30 mana, không tiêu hao tài nguyên.
  • Phòng nguy hiểm - Mỗi người mất 15 HP, tiêu hao thêm 10 vàng.

    Luật chiến đấu:

  • Chiến binh: HP 120, tấn công 20, phòng thủ 15. Nếu HP < 60, tấn công và phòng thủ giảm 50%.

  • Pháp sư: HP 250, tấn công phép 80, phòng thủ 10, mana 500. Nếu HP < 125, tấn công phép giảm 50%. Pháp sư có thể dùng mana để thi triển phép bảo vệ hoặc phép tấn công tăng sức mạnh.

    Ưu tiên chiến binh HP cao tham chiến trước.
  • Nếu chiến binh chết (HP = 0), loại khỏi đội hình.

  • Nếu pháp sư chết → toàn đội thất bại.

    Tài nguyên:

  • Mỗi người tiêu hao 1 vàng và 1 mana mỗi phòng (trừ khi phòng có hiệu ứng khác).

  • Vàng và mana tối đa là 2000 và 1500 tương ứng.
  • Nếu thiếu vàng hoặc mana, mỗi người mất 5 HP do kiệt sức.
  • Phòng cuối (phòng 800) là trận chiến với chúa quỷ:
  • Chúa quỷ: HP 3000, tấn công 150, phòng thủ 100.

    Trận chiến với chúa quỷ:

  • Mỗi lượt, tối đa 15 người (chiến binh còn sống và pháp sư) được chọn theo HP cao nhất để tấn công chúa quỷ.

  • Nếu tổng tấn công vượt phòng thủ quỷ, chúa quỷ mất HP bằng (tổng tấn công – phòng thủ).
  • Chúa quỷ phản công với sát thương chia đều cho người tham chiến.
  • Nếu pháp sư chết hoặc toàn bộ chiến binh chết → thất bại.
  • Nếu chúa quỷ bị tiêu diệt → chiến thắng. Yêu cầu:
  • Mô phỏng toàn bộ hành trình.
  • In kết quả mỗi phòng với thông tin tài nguyên, số người sống.
  • In chi tiết mỗi lượt chiến với chúa quỷ.
  • Kết thúc in kết quả thắng hoặc thua.

Để làm được bài cần:

import random
n = int(input())
random.seed(n)

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.