송이의 카드 게임
시간 제한1초메모리 제한1024 MB
원형으로 놓인 카드를 하나씩 제거하되 제거한 카드에 적힌 수만큼 반시계방향으로 이동하고, 마지막 한 장이 남으면 그 주인과 숫자를 출력한다.
문제
혜민이는 오랜만에 친구들과 카드 게임을 하고 싶어졌다. 일반 카드 게임을 많이 해서 지겨웠던 혜민이는 새로운 카드 게임을 생각해냈다.
-
혜민이를 포함하여 명이 둥글게 앉아있고 각각 개의 카드를 가지고 시작한다. 이 게임을 고안해낸 혜민이부터 반시계방향으로 명에게 순서대로 부터 까지 번호가 주어진다. 카드에는 이상 이하인 정수가 적혀있다.
-
우선 자신이 가진 개의 카드를 자기 앞의 바닥에 일렬로 내려놓는다. 이렇게 하면 총 개의 카드가 둥글게 배치된 모양이 된다. 바닥에 내려놓은 카드의 순서는 바꿀 수 없다.
-
게임은 번 사람의 제일 왼쪽에 있는 카드부터 선택하면서 시작한다. 선택된 카드는 다음과 같은 과정을 거치게 된다.
- 선택된 카드에 적힌 수 를 확인한 후 카드를 제거한다.
- 바닥에 남아있는 카드들 중, 제거된 카드의 반시계방향으로 번째에 위치한 카드를 다시 선택한다.
-
이렇게 카드를 선택해 나가다가 마지막 한 장이 바닥에 남으면 그 카드의 주인이 승리한다.
예를 들어, 3명의 사람이 각각 2개의 카드를 가지고 있을 때 1번 사람이 , , 2번 사람이 , , 3번 사람이 , 이 적힌 카드를 차례대로 바닥에 내려놓은 상태를 생각해보자. 카드가 선택되는 순서는 아래와 같다.
직접 고안해낸 게임이지만 지루한 걸 싫어하는 혜민이는 이 긴 과정을 기다리고 싶지 않다. 게임을 시작하자 마자 결과를 알고 싶은 혜민에게 이긴 사람의 번호와 마지막까지 남아 있는 카드의 숫자를 알려주자.
입력
첫 번째 줄에 사람 수 ()과 각각 가진 카드 수 ()가 주어진다.
두 번째 줄부터 번째 줄까지 개의 줄에 걸쳐서 각각의 사람이 바닥에 내려놓은 카드를 나타내는 개의 정수가 주어진다.
번째 줄은 번 사람이 들고 있는 카드를 나타내며, 각 줄에서 번째로 주어지는 정수는 왼쪽에서 번째에 위치한 카드에 적힌 수를 의미한다. (, , 카드에 적힌 수 )
출력
이긴 사람의 번호와 마지막까지 남아 있는 카드에 적힌 수를 공백으로 구분하여 한 줄에 출력한다.
(1)
(2)
(3)
(4)
(5)
(6)