水题,枚举即可……
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
char ch[100];
int flag[1000];
while(scanf("%s", &ch) == 1)
{
if(ch[0] == '*' && ch[1] == '\0') break;
bool isOK = true;
int n = strlen(ch);
int i,j;
for(i=1; i<n && isOK ; i++)
{
memset(flag, 0, sizeof(flag));
for(j=0; j+i<n && isOK; j++)
{
int t = 26*(ch[j+i] - 'A' + 1) + (ch[j] - 'A');
if(flag[t] == 0) flag[t] = 1;
else isOK = false;
}
}
if(isOK) printf("%s is surprising.\n", ch);
else printf("%s is NOT surprising.\n", ch);
}
return 0;
}