#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
int d,l,i,flag;
string s,tmp;
while(cin>>s,s!="*")
{
flag=1;
l=s.length();
for(d=1;flag&&d<l;d++)
{
map<string,int>m;
for(i=0;flag&&i+d<l;i++)
{
tmp=s.substr(i,1)+s.substr(i+d,1);
if(m[tmp]>0)
{
cout<<s+" is NOT surprising."<<endl;
flag=0;
}
m[tmp]++;
}
}
if(flag)
cout<<s+" is surprising."<<endl;
}
}原文:http://blog.csdn.net/stl112514/article/details/30564177