| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 756 | 253 | 215 | 39.377% |
피돌이는 $N$명의 친구들에게 선물을 주려고 한다. 하지만 가난했던 피돌이는 선물을 $K$개$(K < N)$ 밖에 준비하지 못했다.
그럼에도 불구하고 최대한 공평하게 선물을 분배하기 위해 가위바위보로 $K$명 이하의 인원을 뽑은 뒤 선물을 1ドル$개씩 나누어 주려고 한다.
여러 명이서 동시에 가위바위보를 하면 비길 확률이 너무 높기 때문에, 피돌이는 자신을 이기는 사람만 살아남는 방식으로 뽑으려고 한다.
더 구체적으로 총 $M$번의 라운드를 진행하는데, 처음에 $N$명으로 시작하여 라운드마다 가위바위보로 피돌이를 이긴 사람만 다음 라운드를 계속 진행한다. 그러다가 남은 사람이 $K$명 이하가 되면 즉시 종료하고 선물을 나누어 준다. 만일 아무도 남아있지 않거나 마지막 라운드 이후에도 $K$명 넘게 남았다면 선물을 나누어 주지 못한다.
피돌이는 가위바위보를 하기 귀찮기 때문에 최대한 빠르게 뽑으려고 한다. 이를 위해 독심술을 써서 각 친구가 $i$번째$(1 \le i \le M)$ 라운드에 무엇을 낼 지 모두 파악해 두었다.
라운드를 최소한으로 진행하고 선물을 나누어 주려면 피돌이가 가위바위보를 어떻게 내는 것이 가장 좋을지 구하시오.
첫째 줄에 친구들의 수 $N,ドル 최대 라운드 수 $M,ドル 준비한 선물의 개수 $K$가 공백을 사이에 두고 주어진다. $(1 \le K < N \le 50;$ 1ドル \le M \le 50)$
둘째 줄부터 $N$개의 줄에 걸쳐 각 친구가 무엇을 낼지 의미하는 문자열 $a_1a_2\dots a_M$이 주어진다. $a_i$는 $i$번째 라운드에 낼 것을 의미하며 S는 가위, R은 바위, P는 보이다. $(a_i \in \{R,S,P\}$; 1ドル \le i \le M)$
만일 피돌이가 어떻게 내도 선물을 나누어 줄 수 없다면 첫째 줄에 -1을 출력하고 종료한다.
나누어 줄 수 있다면 첫째 줄에 선물을 나누어 주기 위해 필요한 최소 라운드 수 $P$을 출력한다. $(1 \le P \le M)$
둘째 줄에 그때 피돌이가 어떻게 내야 하는지 의미하는 문자열 $b_1b_2\dots b_P$를 출력한다. $b_i$는 $i$번째 라운드에 낼 것을 의미하며 S는 가위, R은 바위, P는 보이다. $(b_i \in \{R,S,P\}$; 1ドル \le i \le P)$ 가능한 답이 여러개 있다면 아무거나 하나 출력한다.
4 3 1 RSP RSS SPS SRP
2 PR
2 3 1 PSR PSR
-1
첫 번째 예제에서 피돌이가 첫 번째 라운드에서 보자기를 내면 3, 4번째 친구가 남고 두 번째 라운드에서 주먹을 내면 3번째 친구만 남아 선물을 나누어 줄 수 있다.
두 번째 예제에서 피돌이가 어떻게 내더라도 친구들이 모두 남거나 모두 탈락하기 때문에 선물을 나누어 줄 수 없다.