编程题
令人惊讶的字符串 ## 来源 Mid-Central USA 2006 (ZOJ2814, POJ3096) ## 题目描述 字符串S由字母字符组成,它的“D-对字符串”为S中相隔D个位置的两个字符组成的有序对。如果S所有的“D-对字符串”都不相同,则称S是“D-唯一的”。如果S对所有可能的D值,都是“D-唯一的”,则称S是一个“令人惊讶的字符串”。 例如,考虑字符串"ZGBG",它的“0-对字符串”为"ZG"、"GB"和"BG",由于这三个字符串都不相同,因此"ZGBG"是“0-唯一”的。同样,字符串"ZGBG"的“1-对字符串”为"ZB"和"GG",并且由于这两个字符串不同,所有"ZGBG"是“1-唯一”的。最后,字符串"ZGBG"的“2-对字符串”只有一个,就是"ZG",因此"ZGBG"也是“2-唯一”的。 因此"ZGBG"是一个“令人惊讶的字符串”。注意:"ZG"既是"ZGBG"的“0-对字符串”,也是"ZGBG"的“2-对字符串”,这是不相关的,因为0和2是不同的距离。 ## 输入描述 输入文件中包含了若干个非空字符串,由大写字母字符组成,长度最长为79个字符。每个字符串占一行。输入文件的最后一行为“*”字符,代表输入结束。 ## 输出描述 对每个字符串,判断是否为“令人惊讶的字符串”,并输出。 ## 样例输入 ```txt ZGBG BCBABCC * ``` ## 样例输出 ```txt ZGBG is surprising. BCBABCC is NOT surprising. ```
查看答案
赣ICP备20007335号-2