놀라운 문자열

면접 대비

시간 제한2초메모리 제한128 MB

요약
각 문자열에 대해 모든 간격 크기에서 일정 거리만큼 떨어진 문자 쌍들이 전부 다른지 확인해 문자열이 'surprising'한지 판정합니다.
난이도

쉬움10점 중 3점

유형
문자열, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

대문자 알파벳으로만 이루어진 문자열 S가 주어진다. 정수 D에 대해, S에서 정확히 D개의 문자를 사이에 두고 나타나는 두 문자를 순서대로 붙인 문자열을 S의 D-쌍이라고 하자. 즉 위치 i와 i + D + 1의 문자를 붙인 값이다.

문자열의 길이를 N이라고 할 때, D는 0부터 N - 2까지 정의된다. 어떤 D에 대해 모든 D-쌍이 서로 다르면 S는 D-유일하다. 가능한 모든 D에 대해 S가 D-유일하면 S를 놀라운 문자열이라고 한다.

여러 문자열이 주어질 때, 각 문자열이 놀라운 문자열인지 판별하시오.

입력

각 줄에 대문자 알파벳으로만 구성된 문자열이 하나씩 주어진다. 각 문자열의 길이는 80 이하이다. 입력의 마지막 줄은 * 하나로 주어지며, 이 줄은 처리하지 않는다. 입력은 마지막 줄을 포함해 101줄 이하이다.

출력

각 입력 문자열 S에 대해 한 줄을 출력한다. S가 놀라운 문자열이면 S is surprising.을, 아니면 S is NOT surprising.을 출력한다.

예제1

  1. 예제 1

    입력
    ZGBG
    X
    EE
    AAB
    AABA
    AABB
    BCBABCC
    *
    
    예상 출력
    ZGBG is surprising.
    X is surprising.
    EE is surprising.
    AAB is surprising.
    AABA is surprising.
    AABB is NOT surprising.
    BCBABCC is NOT surprising.