팰린드롬 공장

삽입, 삭제, 교체를 자유롭게 쓰고 스왑은 최대 한 번만 써서 문자열을 회문으로 만드는 최소 연산 수를 구합니다.

보통7동적 계획법문자열완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

팰린드롬은 앞에서 읽어도 뒤에서 읽어도 같은 문자열이다.

문자열을 팰린드롬으로 만들기 위해 다음 연산을 사용할 수 있다.

  1. 문자열의 임의 위치에 임의의 문자를 삽입한다. 맨 앞과 맨 뒤에도 삽입할 수 있다.
  2. 임의 위치의 문자를 삭제한다.
  3. 임의 위치의 문자를 다른 문자로 바꾼다.
  4. 서로 다른 두 위치에 있는 문자를 맞바꾼다.

1, 2, 3번 연산은 원하는 만큼 사용할 수 있다. 4번 연산은 최대 한 번만 사용할 수 있다.

문자열이 주어질 때, 팰린드롬으로 만드는 데 필요한 최소 연산 횟수를 구하라.

입력

첫째 줄에 문자열이 주어진다. 문자열은 영어 소문자로만 이루어져 있고, 길이는 최대 50이다.

출력

필요한 최소 연산 횟수를 출력한다.