해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
암호 자물쇠를 푸는 또 다른 문제에 온 것을 환영한다! Explorers Whitfield and Martin은 특이한 금고를 우연히 발견했다. 소문에 따르면 그 안에는 이루 말할 수 없는 보물이 있으며, 그중에는 이산 로그 문제의 해도 있다고 한다!
물론 금고에는 암호 자물쇠가 설치되어 있다. 자물쇠에는 n개의 소문자 라틴 문자를 표시하는 화면이 있다. 처음에 화면에는 문자열 s가 표시된다. Whitfield and Martin은 화면에 문자열 t가 표시되면 금고가 열린다는 사실을 알아냈다.
화면의 문자열은 «shift x» 연산을 사용해 바꿀 수 있다. 이 연산을 적용하기 위해 탐험가들은 0 이상 n 이하인 정수 x를 선택한다. 그 후 현재 문자열 p = αβ는 βRα로 바뀌며, β의 길이는 x, α의 길이는 n - x이다. 다시 말해, 문자열 p에서 길이가 x인 접미사를 뒤집어 문자열의 맨 앞으로 옮긴다. 예를 들어 «shift 4» 연산을 적용하면 문자열 «abcacb»는 문자열 «bcacab »로 바뀐다. 이는 α = ab, β = cacb, βR = bcac이기 때문이다.
탐험가들은 «shift» 연산을 너무 많이 적용하면 자물쇠가 영원히 잠길까 봐 두려워한다. 그들은 6100번 이하의 연산을 사용하여 화면에 문자열 t를 표시하는 방법을 찾아 달라고 요청한다.
첫 번째 줄에 문자열 s와 t의 길이인 정수 n (1 ≤ n ≤ 2 000)가 주어진다.
그다음 각각 n개의 소문자 라틴 문자로 이루어진 두 문자열 s와 t가 주어진다.
6100번 이하의 «shift» 연산을 사용하여 문자열 s에서 문자열 t를 얻는 것이 불가능하면 하나의 수 - 1을 출력한다.
그렇지 않으면 첫 번째 줄에 연산 횟수 k (0 ≤ k ≤ 6100)를 출력한다. 다음 줄에는 적용해야 하는 순서대로 «shift xi» 연산 (0 ≤ xi ≤ n)에 대응하는 k개의 수 xi를 출력한다.
6
abacbb
babcba
18
4 1 6 5 1 6 3 1 6 5 1 6 4 1 6 5 1 6 3
aba
bba
-1