AB-문자열
시간 제한1초메모리 제한512 MB
a와 b로만 이루어진 두 문자열 s와 t의 접두사를 서로 바꿉니다. 한 문자열은 a만, 다른 문자열은 b만 남도록 최소 연산 수와 과정을 구합니다.
문제
두 문자열 와 가 주어진다. 두 문자열은 각각 a와 b로만 이루어져 있다. 다음 연산을 여러 번 수행할 수 있다. 의 접두사 하나와 의 접두사 하나를 고른 뒤 서로 바꾼다. 접두사는 빈 문자열일 수 있고, 문자열 전체일 수도 있다.
연산을 거쳐 한 문자열은 a로만, 다른 문자열은 b로만 이루어지도록 만드는 연산 순서를 찾아야 한다. 연산 횟수는 최소여야 한다. 필요 이상으로 많은 연산을 쓰는 풀이도 일부 점수를 받는다. 자세한 내용은 채점 섹션을 참고한다.
입력
첫 번째 줄에 문자열 가 주어진다 (). 두 번째 줄에 문자열 가 주어진다 (). 두 문자열 중 적어도 하나에는 a가 있고, 적어도 하나에는 b가 있다.
출력
첫 번째 줄에 연산 횟수 ()을 출력한다. 이어지는 개의 줄에는 서로 바꿀 의 접두사 길이 와 의 접두사 길이 를 한 줄에 하나씩 출력한다. 해가 여러 개라면 아무거나 출력해도 된다.
힌트
첫 번째 예제는 연산 두 번으로 풀 수 있다.
- 의 길이 1인 접두사와 의 빈 접두사를 바꾼다. 두 문자열은
ab와bbb가 된다. - 의 길이 1인 접두사와 의 길이 3인 접두사를 바꾼다. 두 문자열은
bbbb와a가 된다.
두 번째 예제는 이미 조건을 만족하므로 연산이 필요 없다.