poj 3096 Surprising Strings (set)

http://poj.org/problem?id=3096

#include<iostream>
#include<string.h>
#include<set>

using namespace std;
set<string>s;
int main()
{
    string str;
    int i,j;
    while(cin>>str)
    {
        int f=0;
        if(str[0]=='*')break;
        int len=str.size();
       
        for(i=1;i<len-1;i++){
            s.clear();
            for(j=0;j<len-i;j++){
                string a,b;
                a=str[j];
                b=str[j+i];
                a+=b;
                if(s.count(a)==1)
                {
                    f=1;break;
                }
                else s.insert(a);

            }
            if(f)break;

        }
        if(f)cout<<str<<" is NOT surprising.\n";
        else cout<<str<<" is surprising.\n";
    }
}

  

posted @ 2012-04-10 20:25  Szz  阅读(181)  评论(0编辑  收藏  举报