해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
선행 영이 없는 1 이상 이하의 정수 n이 주어진다.
한 번의 이동으로, 그 결과로 얻은 수에 선행 영이 생기지 않도록 주어진 수에서 서로 인접한 임의의 두 자릿수를 맞바꿀 수 있다. 다시 말해, 각 이동 후에 얻은 수에는 선행 영이 있어서는 안 된다.
25로 나누어떨어지는 수를 얻기 위해 필요한 최소 이동 횟수는 얼마인가? 25로 나누어떨어지는 수를 얻을 수 없다면 -1을 출력한다.
첫째 줄에 정수 n (1 ≤ n ≤ )이 주어진다. 수 n의 첫 번째(왼쪽) 자릿수는 영이 아님이 보장된다.
25로 나누어떨어지는 수를 얻을 수 없다면 -1을 출력한다. 그렇지 않으면 그러한 수를 얻는 데 필요한 최소 이동 횟수를 출력한다.
주어진 수에서는 서로 인접한 자릿수만 맞바꿀 수 있음에 유의한다.
705
1
1241367
-1
5071
4
첫 번째 예제에서 가능한 이동 순서 중 하나는 5071 → 5701 → 7501 → 7510 → 7150이다.