시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 541 | 60 | 45 | 16.304% |
카드팩을 구하여 카드뭉치를 만들고 정해진 규칙에 따라 상대와 겨루는 게임을 'Collectible Card Game(CCG)'이라 부른다. 요즘 현정이와 준표가 즐기는 '돌게임'도 CCG 중 하나다.
돌게임에는 '하수인' 카드와 '주문' 카드가 있다. '하수인'이란 공격력과 생명력을 가진 개별적인 개체로 다른 게임의 몬스터와 비슷하다. '주문'이란 '전장'에 다양한 효과를 발휘하는 카드로 다른 게임의 마법과 비슷하다. '전장'이란 두 플레이어가 하수인을 배치하는 공간으로 다른 게임의 필드와 비슷하다.
돌게임의 주문카드 중에 '모독'이라는 카드가 있다. 이 카드는 전장에 있는 모든 하수인에게 피해를 1씩 주고, 이로 인해 죽은 하수인이 있다면 이 효과를 반복한다. 하수인은 피해를 받을 때마다 그만큼 생명력이 감소하며, 생명력이 0 이하가 되는 순간 죽는다. 주의할 것은 한 번에 여러 하수인이 죽었더라도 이로 인한 모독의 추가 반복 횟수는 1번이다. 예를 들어 전장에 생명력이 1, 1, 2, 3, 5인 다섯 하수인이 존재하는 상태에서 모독을 사용하면 생명력이 1인 하수인이 먼저 죽고, 이후 추가 발동으로 생명력이 2였던 하수인이 죽고, 이후 추가 발동으로 생명력이 3이었던 하수인이 죽는다. 이때 다시 한 번 모독이 발동하지만 생명력이 5였던 하수인은 생명력이 1이 된 상태에서 살아남고, 이번 모독으로 죽은 하수인이 없으므로 더 이상 반복하지 않는다.
각 플레이어는 자신의 턴에 하수인을 사용하여 공격할 수 있으며 돌게임에서 하수인 X가 하수인 Y를 공격하면 아래의 일이 동시에 발생한다.
<그림1> 모독각의 한 예(예제1)
'모독각'이란 자신의 하수인과 모독을 통해 상대방의 모든 하수인을 죽이는 상황을 뜻한다. 준표는 유독 모독각을 계산하지 못하는 현정이를 위해 모독 알리미를 선물하려 한다. 하지만 전자과인 준표는 학업만으로도 바빠 알리미 제작을 여러분에게 부탁했다.
현정이의 전장에는 이번 턴 한 번씩만 공격 가능한 하수인이 N개 있다. 현정이와 상대 전장의 하수인 정보가 주어졌을 때 현정이의 하수인들과 모독 한 장으로 상대 전장에 있는 하수인을 모두 처치할 수 있는지 판단하고, 있다면 어떤 순서로 이를 이룰 수 있는지 알려주는 프로그램을 작성해보자.
첫 줄에 현정의 전장에 있는 하수인 수 N과 상대 전장의 하수인 수 M이 주어진다. (0 ≤ N, M ≤ 7)
이후 N줄에 걸쳐 차례로 현정이 전장의 1 ~ N번 하수인의 공격력과 생명력이 주어진다. 이후 M줄에 걸쳐 차례로 상대 전장의 1 ~ M번 하수인의 공격력과 생명력이 주어진다. 모든 공격력과 생명력은 양의 정수이며 12를 넘지 않는다.
가능하다면 첫 줄에 로그의 개수 L(0 ≤ L ≤ N+1)을 출력한다.
이후 L개의 줄에 걸쳐 모독각을 만드는 로그를 한 줄씩 출력한다. 모든 로그는 순차적으로 처리되며 각 로그의 순서에 가능한 상황이어야 한다. 로그의 종류는 아래와 같다.
가능한 로그의 종류가 여럿이라면 그 중 아무것이나 출력한다.
불가능하면 한 줄에 -1을 출력한다.
1 3 3 5 2 1 3 4 5 3
2 attack 1 2 use modok
1 0 12 12
0
3 2 4 1 4 4 5 3 2 2 4 12
3 attack 3 2 attack 2 2 use modok
1 3 1 1 2 1 3 1 5 4
-1
3 5 2 6 7 7 1 5 9 4 9 3 4 2 9 5 7 7
4 attack 3 3 attack 1 3 use modok attack 2 5
예제3, 예제4, 예제5는 서브태스크1에서 나오지 않는다.
2019년 4월 10일 용의 해를 맞아 모독은 더 이상 정규전에서 쓸 수 없게 되었다.
University > 아주대학교 > 2019 아주대학교 프로그래밍 경시대회 APC > Div.1 C번
University > 아주대학교 > 2019 아주대학교 프로그래밍 경시대회 APC > Div.2 D번