페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3334

회문 2초 512MB

문제

 

회문(回文) 또는 팰린드롬(palindrome)은 앞 뒤 방향으로 볼 때 같은 순서의 문자로 구성된 문자열을 말한다.

예를 들어 'abba', 'kayak', 'reviver', 'madam'은 모두 회문이다. 

 

만일 그 자체는 회문이 아니지만, 한 문자를 삭제하여 회문으로 말들 수 있는 문자열이라면 

우리는 이런 문자열을 "유사회문(pseudo palindrome)이라고 부른다.

예를 들어 'summuus'는 5번째나 혹은 6번째 문자 'u'를 제거하면 'summus'인 회문이 되므로 유사회문다.

 

여러분은 제시된 문자열을 분석하여 그것이 그 자체로 회문이지, 

또는 한 문자를 삭제하면 회문이 되는 "유사회문"인지, 아면 회문이나 유사회문이 아닌 일반 문자열인지를 판단해야 한다. 

만일 문자열 그 자체로 회문이면 0, 유사회문이면 1, 그 외는 2를 출력한다.

 


입력

입력의 첫 줄에는 주어진는 문자열의 개수를 나타내는 정수 T(1≤T≤20)가 주어진다.

다음 줄부터 T개의 줄에 걸쳐 한 줄에 하나의 문자열이 입력으로 주어진다. 

주어지는 문자열의 길이는 3이상 100,000 이하이고, 영문 알파벳 소문자로만 이루어져 있다.


출력

각 문자열이 회문인지, 유사회문인지, 둘 모두 해당되지 않는지를 판단하여 

회문이면 0. 유사회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다.

채점기준 

제출된 프로그램은 여러 개의 테스트 케이스로 평가되며, 

맞은 테스트 케이스에 대해서 해당 테스트 케이스에 배정된 점수를 받는다. 

모든 테스트 케이스를 맞았을 시 100점을 받는다. 

각 테스트 케이스에 대한 배점 정보와, 제약 조건은 다음과 같다.

 

  • 그룸 1: 총 33점 상당의 테스트 케이스로 구성되어 있다. 
  • 각각의 테스트 케이스에서 주어지는 모든 문자열의 길이는 2,000 이하이다.
  • 그룸 2: 총 67점 상당의 테스트 케이스로 구성되어 있다. 
  • 추가적인 제약 조건이 없다.

  • 예제1

    입력
    7
    
    abba
    summuus
    xabba
    xabbay
    comcom
    comwwmoc
    comwwtmoc
    출력
    0
    
    1
    1
    2
    2
    0
    1

    태그


    출처

    KOI 1차 2019 초2

    역링크