Big-O Coding Logo
Big-OCoding
Khóa họcLộ trìnhLuyện phỏng vấnThi đấuBài tậpBảng xếp hạngAI Coding LabSắp ra mắtPremium
Quay lại
Đề bài
|
Lời giải
|
Bài nộp
|
Thảo luận (0)

Auto Chess - HP

Nguồn: Big-O

Easy 512MB

Auto Chess là một trò chơi chiến thuật sinh tồn, do Drodo Studio phát triển vào đầu năm 2019 và được VNG mua bản quyền phát hành tại thị trường Việt Nam.

Mỗi ván đấu có 8 người chơi tham gia. Người chơi cần sắp xếp các quân cờ trên bàn cờ để phòng thủ trước những đợt tấn công từ quái vật hoặc từ những người chơi khác. Người chơi phòng thủ thất bại (khi điểm số của người đó giảm về 0) sẽ bị trừ lượng sinh lực bằng đúng số điểm còn lại của người chơi tấn công. Ban đầu, mỗi người chơi có X điểm sinh lực (HP). Khi sinh lực giảm về 0, người chơi đó bị coi là thua trận. Người chơi sống sót cuối cùng sẽ giành chiến thắng.

Việc lựa chọn quân cờ thích hợp là chìa khóa để giành chiến thắng. Tất cả người chơi đều mua quân cờ từ một kho quân cờ chung. Quân cờ của người chơi có thể nằm trên bàn cờ hoặc ở hàng chờ. Khi có 3 quân cờ giống nhau cùng cấp sao, người chơi có thể nâng cấp để quân cờ trở nên mạnh hơn. Mỗi quân cờ có thể nâng cấp tối đa lên 3 sao.

Cho biết kết quả của 8 trận đấu trong mỗi hiệp qua N hiệp đấu. Mỗi trận đấu cung cấp thông tin về người chơi phòng thủ, người chơi tấn công và số điểm của họ sau trận đấu. Hãy xác định bảng xếp hạng của 8 người chơi tại hiệp thứ K, sắp xếp theo thứ tự điểm sinh lực giảm dần.

Đầu vào: Dòng đầu tiên chứa 3 số nguyên dương:

  • X, sinh lực ban đầu của 8 người chơi (1≤X≤100)(1 \leq X \leq 100)(1≤X≤100).
  • N, số lượng hiệp đấu (1≤N≤60)(1 \leq N \leq 60)(1≤N≤60).
  • K, hiệp đấu cần xem bảng xếp hạng (1≤K≤N≤60)(1 \leq K \leq N \leq 60)(1≤K≤N≤60).

N * 8 dòng tiếp theo chứa kết quả của từng trận đấu, mỗi dòng gồm 4 số nguyên không âm:

  • D, Defender, số thứ tự của người chơi phòng thủ (1≤D≤8)(1 \leq D \leq 8)(1≤D≤8).
  • RD, Remain of Defender, số điểm còn lại của người chơi phòng thủ sau trận đấu (0≤RD≤100)(0 \leq RD \leq 100)(0≤RD≤100).
  • I, Invader, số thứ tự của người chơi tấn công (1≤I≤8)(1 \leq I \leq 8)(1≤I≤8).
  • RI, Remain of Invader, số điểm còn lại của người chơi tấn công sau trận đấu (0≤RI≤100)(0 \leq RI \leq 100)(0≤RI≤100).

Lưu ý: Dữ liệu của mỗi trận đấu đảm bảo có ít nhất một người chơi thất bại (tức là RI=0RI = 0RI=0 hoặc RD=0RD = 0RD=0), và tính đến hiệp thứ K, chưa có người chơi nào bị loại.

Đầu ra: Gồm 8 dòng, mỗi dòng chứa 2 số nguyên cách nhau bởi một dấu cách, gồm số thứ tự của người chơi và sinh lực của người chơi đó tại hiệp thứ K, sắp xếp theo thứ tự giảm dần của sinh lực. Nếu hai người chơi có cùng sinh lực thì người chơi có số thứ tự nhỏ hơn sẽ được xếp trước.

Giải thích: Trong ví dụ đầu tiên, có thể thấy người chơi số 4 và 6 đã phòng thủ thành công, còn người chơi số 5 hòa trận, nên sinh lực của ba người chơi này không đổi. Những người chơi còn lại đều phòng thủ thất bại và bị trừ số sinh lực tương ứng.

Ví dụ 1: Đầu vào:

100 1 1
7 0 8 4
1 0 2 1
4 1 5 0
2 0 3 2
3 0 4 3
6 1 7 0
5 0 6 0
8 0 1 1

Đầu ra:

4 100
5 100
6 100
1 99
8 99
2 98
3 97
7 96
Chỉ viết thân hàm, hệ thống tự lo Input/Output
Bài này không hỗ trợ chế độ Viết chương trình
Bật gợi ý code
|
Loading...
Test Case
|
Output
Ln 1, Col 1
Đang tải test ví dụ...