프로그램 명: runaround
제한시간: 1 초
N 자리 런어라운드 수는 다음과 같이 정의된다.
- 수 중 0 을 포함하지 않고 1 에서 9 사이 값을 가지며 , 같은 수는 두 번 나오지 않으며
- 왼쪽 끝 자리에서 출발하여 각 자리의 숫자 값만큼 오른쪽으로 이동한다. 가장 오른쪽으로 가서 더 이상 갈 곳이 없을 때에는
왼쪽 끝으로 계속 이동한다.
- 모든 자리를 한 번씩만 방문 후 처음 출발했던 자리로 돌아오면 이 수는 런어라운드 수 이다.
81362 를 예를 들어보자.
- 8 에서 부터 처음 출발하여 오른쪽으로 8 칸 이동하면 6
- 6 에서부터 오른쪽으로 6 칸 이동하면 2
- 2 에서부터 오른쪽으로 2 칸 이동하면 1
- 1 에서 부터 오른쪽으로 1 칸 이동하면 3
- 3 에서 부터 오른쪽으로 3 칸 이동하면 8(처음위치)
따라서 81362 는 런 어라운드 수이다.
런 어라운드 수의 예를 몇가지 들면 13,147,1263 등이 있다.
우리가 구하고자 하는 문제는 수 하나가 주어질 때 그 수보다 큰 최초의 런라운드 수를 구하는것이다.
입력
하나의 정수가 주어진다.
출력
주어지는 입력보다 큰 최초의 런어라운드 수를 출력한다.
입출력 예
입력
81361
출력
81362
출처:usaco
[질/답]
[제출 현황]
[푼 후(0)]