Too Many Traps
시간 제한1초메모리 제한256 MB
신발 N개의 추진력과 이불 M개의 위치가 주어질 때, 모든 이불을 피하면서 신발을 한 번씩 쓰는 순서를 찾거나 불가능하면 -1을 출력합니다.
문제
혜아는 개의 신발을 신고 있다. 번째 신발의 추진력은 이다. 혜아는 현재 위치에서 km 떨어진 보물이 숨겨진 곳으로 가려고 한다.
혜아는 신발의 추진력(!)을 사용해 점프할 수 있다. 번째 신발을 사용하면 현재 위치에서 km 떨어진 곳으로 점프할 수 있다. 점프하면 그 신발은 닳아 없어진다. 모든 신발을 보물이 있는 방향으로 한 번씩 사용하면, 혜아는 보물이 있는 곳에 도달해 건물주가 될 수 있다.
카흐는 건물에만 틀어박힐 혜아가 걱정되어 개의 이불을 놓았다. 이불은 시작 지점에서 보물이 숨겨진 곳까지 이어지는 직선 위에 놓여 있다. 점프해서 착지한 위치가 이불 위라면, 혜아는 이불에서 나오지 않아 보물을 찾지 못한다. 보물이 있는 곳에 이불이 있으면, 혜아는 보물을 찾지 않고 바로 이불에 누워 버린다.
이불이 있는 곳을 피해서 보물이 있는 곳에 도착하는 방법을 계산해 주자.
입력
첫째 줄에 과 이 공백으로 구분되어 주어진다. ()
둘째 줄에는 개의 수가 공백으로 구분되어 주어진다. 번째 수는 이다. 추진력은 1 이상 이하의 서로 다른 수이다.
셋째 줄에는 개의 수가 공백으로 구분되어 주어진다. 수 는 이불이 현재 위치에서 보물이 숨겨진 방향으로 km 떨어져 있다는 뜻이다. 이불이 숨겨진 위치는 1 이상 이하의 서로 다른 수이다.
출력
보물이 있는 곳에 도착할 수 없으면 첫째 줄에 -1을 출력한다.
도착할 수 있으면 첫째 줄에 개의 수를 공백으로 구분하여 출력한다. 번째 수가 이면 번째 점프에 신발 를 사용한다는 뜻이다. 답이 여러 개이면 아무거나 출력해도 된다.