Train Problem I CSU-ACM2017暑期训练1-Debug与STL

来源:互联网 发布:淘宝认证出现bad apple 编辑:程序博客网 时间:2024/05/22 04:44
#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<vector>using namespace std;vector<int> pos_store[30];bool vst[89],allvst[89];int main(){    string str;    while(cin>>str)    {        if(str=="*")            break;        memset(allvst,0,sizeof(allvst));        int ll=str.length();//        cout<<"ll: "<<ll<<endl;//        for(int i=0;i<=ll-2;i++)//i为两字母间距离D//        {//            for(int j=0;j+i+1<=ll-1;j++)//            {////            }//        }        for(int i=0;i<26;i++)        {            pos_store[i].clear();        }        for(int i=0;i<ll;i++)        {            pos_store[str[i]-'A'].push_back(i);        }        int flag=1;        for(int i=0;i<26;i++)        {            int part_size=pos_store[i].size();            if(part_size>=2)            {//                char c='A'+i;cout<<c<<": ";//                for(int x=0;x<part_size;x++)//                    cout<<pos_store[i][x]<<" ";                memset(vst,0,sizeof(vst));                for(int it=0;it<part_size;it++)                {                    for(int ij=it+1;ij<part_size;ij++)                    {                        int v=pos_store[i][ij]-pos_store[i][it];                        if(vst[v]==1)                        {                            flag =0;                        }                        vst[v]=1;                    }                }                for(int k=0;k<89;k++)                {                    if(vst[k]&&!allvst[k])                    {                        allvst[k]=1;                        continue;                    }                    if(vst[k]&&allvst[k])                    {                        flag=0;                        break;                    }                }//                cout<<"falg: "<<flag<<endl;                if(flag==0)break;            }        }        if(flag)            cout<<str<<" is surprising."<<endl;        else            cout<<str<<" is NOT surprising."<<endl;        str.clear();    }}

原创粉丝点击