시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 1024 MB | 102 | 21 | 15 | 20.548% |
리그오브레전드를 좋아하는 성민이는 잭스를 즐겨 하는 유저이다. 오늘도 어김없이 리그오브레전드를 하던 성민이는 적으로 피오라를 만났다. 게임에 진심인 성민이는 이 게임을 꼭 이기고 싶어 한다. 성민이의 잭스는 상대방의 피오라를 이길 수 있을까?
잭스와 피오라의 전투 규칙은 다음과 같다.
잭스와 피오라는 다음과 같은 공격을 할 수 있다.
전지전능한 당신은 피오라가 언제 어떤 공격을 할지 알 수 있다. 성민이를 위해 잭스가 피오라를 이길 수 있는 최선의 방법을 알려주자!
최선의 방법이란 잭스가 피오라를 가장 빠르게 이기는 방법이다. 만약 가장 빠르게 이기는 방법이 여러 가지라면 잭스의 체력이 가장 많이 남는 방법이 최선의 방법이다. 가장 빠르고 잭스의 체력이 똑같이 남는 방법이 여러 가지라면 아무 방법이나 출력하라.
첫째 줄에 잭스와 피오라의 체력 $hp_1$, $hp_2$가 순서대로 주어진다. ($1 \leq hp_1, hp_2 \leq 300$) 둘째 줄에 잭스와 피오라의 데미지 $d_1$, $d_2$, $d_3$, $d_4$가 순서대로 주어진다. ($1 \leq d_1, d_2, d_3, d_4 \leq 300$) 셋째 줄에 피오라의 공격 수 $m$이 주어진다. ($0 \leq m \leq 60$) 다음 $m$줄에 걸쳐 피오라가 사용할 공격이 시간 순으로 프레임과 공격명 순서로 주어진다.
잭스가 피오라를 이길 수 없다면 NO
를 출력하라. 잭스가 피오라를 이길 수 있다면 YES
를 출력하고 그다음 줄에 attack(공격)과 counter strike(반격)을 몇 프레임에 쓰면 이길 수 있는지 프레임과 공격명 순으로 출력하라.
10 10 4 4 4 4 0
YES 0 attack 5 attack 10 attack
잭스는 0프레임에 attack(공격)을 해 0, 1, 2, 3프레임을 쉬고 4프레임에 4의 데미지로 피오라를 때릴 수 있다. 그 후 쉬지 않고 5프레임, 10프레임에 attack(공격)을 사용해 최단 시간에 이길 수 있다.
10 10 5 5 5 5 1 5 riposte
YES 0 attack 10 attack
10 10 3 7 5 5 1 4 riposte
YES 0 counter strike 15 attack
300 300 1 1 1 1 1 0 attack
NO
실제 리그오브레전드에서는 잭스가 반격을 사용하면서 평타를 때릴 수 있으나 이 문제에서는 불가능하다.
Camp > ICPC Sinchon Algorithm Camp > 2023 ICPC Sinchon Winter Algorithm Camp Contest > 초급 G번