뒤섞인 애너그램
면접 대비메모리 제한1024 MB
문자열이 주어지면 각 문자가 원래 위치에 오지 않도록 재배열한 문자열을 출력하고, 불가능하면 IMPOSSIBLE을 출력한다.
문제
영문 알파벳 소문자로만 이루어진 문자열 가 있다. 의 애너그램이란 와 같은 문자를 같은 개수만큼 포함하되 순서가 다른 문자열을 말한다. 예를 들어 kick의 애너그램으로는 kcik, ckki 등이 있다.
를 의 번째 문자라고 하자. 의 애너그램 가 뒤섞인 애너그램이라는 것은 모든 에 대해 임을 뜻한다. 예를 들어 kcik은 첫 번째와 네 번째 문자가 kick과 같으므로 뒤섞인 애너그램이 아니다. 반면 ckki는 kick의 뒤섞인 애너그램이고, ikkc도 그렇다.
임의의 문자열 가 주어졌을 때, 의 뒤섞인 애너그램을 하나 출력하라. 그러한 문자열이 존재하지 않으면 IMPOSSIBLE을 출력한다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어지며, 각 테스트 케이스는 영문자로 이루어진 문자열 한 줄이다.
출력
각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력한다. 는 테스트 케이스 번호(1부터 시작)이고, 는 해당 문자열의 뒤섞인 애너그램이다. 뒤섞인 애너그램이 존재하지 않으면 IMPOSSIBLE을 출력한다.
제한
- .
- 입력으로 주어지는 문자는 모두 영문 알파벳 소문자이다.
힌트
테스트 케이스 #1에서 tarts는 start의 뒤섞인 애너그램이다. 두 문자열의 같은 위치에 있는 문자가 모두 서로 다르기 때문이다. trsta도 가능한 답이다(답은 하나만 출력하면 된다). 그러나 테스트 케이스 #2에서는 jjj를 애너그램으로 바꿔 뒤섞인 애너그램을 만들 수 없으므로 IMPOSSIBLE을 출력한다.