징검다리의 징검다리
시간 제한1초메모리 제한1024 MB
호수마다 원형으로 놓인 돌의 개수가 주어질 때, 서로 다른 돌을 정확히 K개 밟고 E번째 호수에 도착할 수 있는지 판정한다.
문제
개의 호수가 일렬로 늘어서 있다. 각 호수는 왼쪽에서부터 번에서 번까지 번호가 매겨져 있으며, 각 호수에는 돌들이 원형으로 배치되어 있다. 번째 호수에는 징검다리를 이루는 돌이 개 있으며, 각 돌에는 번부터 번까지 번호가 매겨져 있다.
용모는 번째 호수의 번 돌 위에 서 있으며, 다음과 같은 규칙으로 이동한다.
- 현재 번 돌 위에 있다면 같은 호수의 번 돌로 이동한다. 단, 현재 번 돌 위에 있다면 번 돌로 이동한다.
- 현재 번 돌 위에 있다면 같은 호수의 번 돌로 이동한다. 단, 현재 번 돌 위에 있다면 번 돌로 이동한다.
- 현재 번째 호수의 돌 위에 있다면 번 또는 번 호수의 임의의 돌로 이동한다. 단, 번 호수 또는 번 호수가 존재하지 않는다면 해당 방향으로는 이동할 수 없다.
- 한번 밟은 돌은 다시 밟을 수 없다.
용모가 번째 호수의 임의의 돌에 도착할 때까지, 시작 돌과 끝 돌을 포함하여 정확히 개의 돌을 밟을 수 있는지 판단하는 프로그램을 작성하시오.
입력
첫 번째 줄에 호수의 개수를 나타내는 정수 과 시작 호수와 끝 호수의 번호를 나타내는 정수 가 주어진다.
두 번째 줄에 각 호수의 징검다리를 이루는 돌의 개수 이 공백으로 구분되어 주어진다.
세 번째 줄에 용모가 밟아야 하는 서로 다른 돌의 개수 가 주어진다.
출력
용모가 정확히 개의 돌을 밟은 후 번째 호수의 임의의 돌에 도착할 수 있으면 1, 그렇지 않으면 0을 출력한다.
제한
- ,