문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7133 : 게임 시뮬 — 턴 기반 전투

•시간제한: 2.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

7133 : 게임 시뮬 — 턴 기반 전투

시간 2.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

두 캐릭터 A와 B가 턴제로 전투를 진행하는 시뮬레이션을 구현하십시오.
- 각 캐릭터는 HP, 공격력(ATK), 방어력(DEF) 속성을 가집니다.
- A와 B는 턴 번호에 따라 주어진 명령열의 주체 행동을 차례대로 진행합니다. (예: 명령이 A이면 A가 B를 공격, B이면 B가 A를 공격)
- 타격 시 입히는 데미지는 MAX(1, 공격자_ATK - 방어자_DEF) 입니다.
- 둘 중 하나라도 HP가 0이 되는 즉시 경기가 종료됩니다.
각 턴이 끝난 후의 A와 B의 남은 HP를 출력하고, 마지막 줄에 최종 승자를 출력하십시오.





[제약 조건]
• A와 B 문자로만 구성되며, 길이는 100 이하입니다

입력 설명

첫째 줄에 A의 HP, ATK, DEF가 공백으로 구분되어 주어집니다. (10 ≤ HP ≤ 1,000, 1 ≤ ATK, DEF ≤ 100)
둘째 줄에 B의 HP, ATK, DEF가 공백으로 구분되어 주어집니다.
셋째 줄에 행동 명령 문자열이 공백 없이 주어집니다. (A와 B 문자로만 구성되며, 길이는 100 이하입니다.)

출력 설명

각 턴 명령이 처리된 후 A와 B의 남은 HP를 A_HP B_HP 형식으로 줄바꿈하여 출력합니다.
마지막 줄에 최종 승자(A 또는 B, 비긴 경우 또는 모두 생존 시 DRAW)를 출력합니다.

입력 예시
COPY
복사되었습니다!

100 20 5
100 15 10
ABABAB

출력 예시
COPY
복사되었습니다!

100 90
90 90
90 80
80 80
80 70
70 70
DRAW

도움

명령열을 따라가며 dmg = max(1, ATK - DEF)를 상대 HP에서 차감하고, HP는 0보다 작아질 수 없으므로 max(0, HP)로 보정합니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘