Đội quân dũng cảm

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Người đăng:
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 tướng quân dẫn đầu đội quân gồm 50 kỵ sĩ xuất phát từ phòng 1 để tiêu diệt hang ổ quái vật trong 1000 căn phòng. Quãng đường từ phòng 1 đến phòng 1000 gồm 1000 phòng liên tiếp, mỗi phòng có một loại địa hình hoặc sự kiện được xác định ngẫu nhiên theo số từ 1 đến 6.

Sự kiện trong mỗi phòng (tạo ngẫu nhiên từ số 1 đến 6) có ý nghĩa như sau:

  • Số 1: Phòng lương thực, cung cấp ngẫu nhiên từ 50 – 150 lương thực và 50 – 150 nước (mỗi loại tối đa 1000).
  • Số 2: Phòng dung nham, mỗi người tiêu tốn 2 đơn vị nước thay vì 1.
  • Số 3: Phòng quái vật, xuất hiện từ 5 – 20 quái vật, mỗi con có 20HP. Mỗi kỵ sĩ đấu 1 quái vật. Nếu thiếu người, tướng quân tham chiến.
  • Số 4: Phòng băng tuyết, mỗi người tiêu tốn 2 đơn vị lương thực thay vì 1.
  • Số 5: Phòng nghỉ ngơi, mỗi người hồi 5 HP, không vượt quá 100.
  • Số 6: Phòng cạm bẫy, mỗi người mất 10 HP.

Luật chiến đấu:

  • Mỗi kỵ sĩ: 100 HP, tấn công 10, phòng thủ 10. Nếu HP < 50, tấn công và phòng thủ giảm 50%.
  • Tướng quân: 500 HP, tấn công 50, phòng thủ 50. Nếu HP < 250, tấn công và phòng thủ giảm 50%.
  • Ưu tiên kỵ sĩ có HP cao tham chiến trước.
  • Nếu HP kỵ sĩ = 0 → hi sinh. Nếu tướng quân hi sinh → toàn quân bị tiêu diệt.
  • Mỗi kỵ sĩ đấu với 1 quái vật và tiêu diệt được nếu lượng HP > HP của quái vật. Đánh đổi là mỗi con quái gây 10 HP sát thương lên người đánh bại nó.

Tài nguyên:

Mỗi phòng: mỗi người dùng 1 lương thực + 1 nước (trừ khi ở phòng 2 hoặc 4). Nếu thiếu:

  • Thiếu lương thực: -2 HP/người
  • Thiếu nước: -1 HP/người
  • Lương thực và nước tối đa: 1000 đơn vị mỗi loại.
  • Phòng 1000 có Boss, chia theo lượt đánh.
  • Boss: 1000 HP, tấn công 100, phòng thủ 100.
  • Mỗi lượt, tối đa 10 người (kỵ sĩ còn sống hoặc tướng quân) được chọn theo HP cao nhất để tấn công Boss.
  • Nếu tổng tấn công > phòng thủ Boss: Boss mất (tổng tấn công - phòng thủ) HP. Nếu không: Boss mất 1 HP. Sau đó Boss sẽ phản công.
  • Nếu Boss tấn công > tổng phòng thủ: mỗi người mất (Boss tấn công - tổng phòng thủ) // 10 HP, làm tròn xuống, tối thiểu 1. Kết thúc:
  • Nếu Boss bị tiêu diệt → chiến thắng.
  • Nếu tướng quân chết → thất bại.

In kết quả mỗi phòng như sau:

Phòng (A), đội quân <Sự kiện>, thông số hiện tại: Lương thực - , Nước - <C>, lượng kỵ sĩ còn lại <D>.

In kết quả mỗi lượt chiến Boss như sau:

Luot (A), luc tan cong doi quan la , luc phong thu la <C>, Boss bi mat <D> HP, con lai <E> HP, luc tan cong la <F>, luc phong thu la <G>.

Cuối cùng, in ra kết quả:

  • Đội quân đã chiến thắng và tiêu diệt được hang ổ của quái vật
  • Đội quân đã anh dũng hi sinh.

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

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

Lưu ý: code trên dùng cho python, các bạn có thể dùng tuỳ theo ngôn ngữ miễn đúng cấu trúc

INPUT(cho n)

Copy
0

OUTPUT(kết quả cuối cùng + dòng cuối)

Copy
Vong 134 Phong 6, Phong bay, mat 10 HP moi nguoi, thong so hien tai: luong thuc - 989, nuoc - 989, So ki si con lai 0.
Quan doi da anh dung hi sinh.
Dịch ra là
Copy
Vòng 134 Phòng 6, Phòng bẫy, mất 10 HP mỗi người, thông số hiện tại: lương thực - 989, nước - 989, Số kị sĩ còn lại 0.
Quân đội đã anh dũng hi sinh.
Copy
Quan doi da chien thang và thanh cong tieu diet hang o quai vat.
Copy
Quan doi da anh dung hi sinh.

Bình luận

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



  • -1
    Lam2012  đã bình luận 4:38:41 sa, 17/07/2025

    này nhé NghiaHungTinCVAK8 đừng copy code ở các bài của tôi