| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 214 | 82 | 78 | 41.053% |
차 모임 '삼월 초하루'가 있다. 그들은 수시로 茶(차)와 다식을 먹으며 친목을 다지고 있다.
어느 날 차 모임을 이끄는 팽주(차를 우리는 사람) 초승달은 자주 가는 찻집 사장님으로부터 다음과 같은 사실을 배워 왔다.
숙우에 담긴 뜨거운 물을 다른 숙우로 이동할 때마다 물의 온도가 $\mathbf{5}$°C 감소한다.
다구 중 하나인 '숙우'는 '공도배'라고도 하며 우린 물을 나누거나 차를 우릴 물을 식히기 위해 사용한다. 물을 옮길 때마다 온도가 감소한다는 사실을 알게 된 초승달은 자신이 가지고 있었던 숙우들을 이용해 각각의 차에 맞는 적절한 온도를 가진 물을 여러 개 만들어 한꺼번에 차를 여러 종류로 우리고 싶어졌다.
초승달은 1ドル$번부터 $N$번까지 $N$개의 숙우를 가지고 있다. 1ドル$번부터 $N-1$번까지의 숙우에 1ドル$번부터 $N-1$번까지의 물이 순서대로 채워져 있고, $N$번 숙우는 비어 있다. $N-1$개의 물은 각각 목표 온도를 가지고 있다. 처음 숙우에 담긴 물은 100ドル$°C이다. 숙우의 물을 이동할 때 빈 숙우로만 이동할 수 있으며, 숙우에 담긴 물을 모두 이동해야 한다.
숙우 속 물을 다른 숙우로 이동하여 온도를 낮춰 목표 온도를 맞춰보자. 그리고 알록달록 다양한 숙우에 1ドル$번부터 $N-1$번까지의 물이 알맞게 담길 수 있도록 해 보자!
참고로 오늘은 초승달이 숙우를 3ドル$개만 들고 왔다고 한다.
첫째 줄에는 숙우의 개수 $N$이 주어진다. $(N=3)$
둘째 줄에는 1ドル$번부터 $N-1$번 물에 대한 목표 온도 $t_i$가 공백으로 구분되어 주어진다. $(5\le t_i\le 100,ドル $t_i$는 5ドル$의 배수$)$
셋째 줄에는 물을 옮긴 후 1ドル$번부터 $N$번까지의 숙우에 담겨야 하는 물의 번호가 각각 공백으로 구분되어 주어진다. 물의 번호는 1ドル$부터 $N-1$까지 중복되지 않는 양의 정수이다. 빈 숙우는 0ドル$으로 주어진다.
만약 목표를 달성할 수 없다면 첫째 줄에 $-1$을 출력한다.
그렇지 않다면 첫째 줄에 이동 횟수 $K$ $(0\le K\le 40)$를 출력하고, 둘째 줄부터 $K$개의 줄에 걸쳐 숙우 속 물을 옮기는 과정 $x\ y$를 공백으로 구분하여 출력한다. $x$와 $y$는 서로 다른 양의 정수이며 $x\ y$는 $x$번 숙우에 담긴 물을 $y$번 숙우로 옮긴다는 뜻이다.
가능한 방법이 여러 가지인 경우 아무거나 한 가지만 출력한다.
3 95 95 0 1 2
2 2 3 1 2
3 85 90 1 0 2
5 1 3 2 1 3 2 1 3 2 1
3 100 95 2 1 0
-1
University > 서강대학교 > Sogang Programming Contest > 2023 Sogang Programming Contest > Champion C번