BitComet 旗下网站

转到日志
相关贴吧:
acm of zju

zju2814 子串比较

楼主 发表于:2008-08-04 18:53:40 [回复]

/*Surprising Strings 子串比较

2008-08-04 18:03:44 Accepted 2814 C++ 00:00.00 2988K 天将降大任于我
三个for循环查找是否有相等的子串,发现有两个子串相等,则输出,退出循环  
想法:先从j入手,再到i,再到k   
*/
#include<iostream>
#include<string>
using namespace std;
int main()
{
 string s;int i,j,k,n;bool f;
 while(cin>>s&&s!="*")
 {   f=0;
  n=s.length();
  for(i=1;i<n;i++)
   for(j=0;j<n;j++)
   { if(i+j>=n) break;
    for(k=0;k<n;k++)
    {
    if(i+j+k>=n)break;
    if(s[j]==s[j+1+k]&&s[j+i]==s[j+1+i+k]) {f=1;cout<<s<<" is NOT surprising."<<endl;k=n;j=n;i=n;}
    }
   }
 if(!f) { cout<<s<<" is surprising."<<endl;continue;}
 }
 return 0;
}


心难泰,世风坏,旧时正气今何在?正义寡,人情薄,闻道虽多,茅塞不开。怪!怪!怪! 空等待,几多载,冲出重围人心快!暴雨打,狂风袭,任他折磨,此志难改。耐!耐!耐!

 

您现在还没有登录,请在登录后发贴