#P3096. Surprising Strings

Surprising Strings

题目描述

一个字符串的DD-对是指字符串中相距为DD的有序字母对。如果一个字符串的所有DD-对都互不相同,则称该字符串是DD-唯一的。如果一个字符串对于所有可能的距离DD都是DD-唯一的,则称该字符串是令人惊讶的。

以字符串ZGBGZGBG为例:其00-对为:ZGGBBGZG、GB、BG。由于这三个对都互不相同,所以ZGBGZGBG00-唯一的。其11-对为:ZBGGZB、GG。由于这两个对互不相同,所以ZGBGZGBG11-唯一的。其22-对为:ZGZG。由于只有一个对,所以ZGBGZGBG22-唯一的。因此,ZGBGZGBG是令人惊讶的。(注意:ZGZG既是00-对又是22-对并不影响结果,因为0022是不同的距离。)

致谢:这个问题的灵感来源于《科学美国人》2003年12月刊的“解谜探险”专栏。

输入格式

输入包含一个或多个非空字符串,每个字符串由不超过7979个大写字母组成,每个字符串独占一行。输入以一个仅包含星号*的行结束。

输出格式

对于每个字符串,判断其是否是令人惊讶的,并按照以下格式输出:如果字符串是令人惊讶的,输出 字符串 isis surprisingsurprising。否则,输出 字符串 isis NOTNOT surprisingsurprising

输入样例

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.

来源

2006年美国中北部地区