poj 3080 Blue Jeans (串)

来源:互联网 发布:ae cc mac 编辑:程序博客网 时间:2024/06/05 02:24
#include <iostream>#include <string>#define MAXN 60  /*  暑假看的,没做记录,当时用的kmp,现在复习下stl  当时做的不是这个(stl没过)现在差点忘了,复习下正好  顺便提下,npos比跟.size()比好得多,不必考虑边界问题  可以用于find,发到博客用于备忘  */using namespace std;  int main()  {      int t;      cin>>t;      while(t--)      {          int n;          cin>>n;          string str[15];          for(int i=0;i<n;i++)            cin>>str[i];          string res="";          for(int i=3;i<=MAXN;i++)          {              for(int j=0;j<=MAXN-i;j++)              {                  string tmp=str[0].substr(j,i);                  bool flag=true;                  for(int k=1;k<n;k++)                    if(str[k].find(tmp)==string::npos)                  {                      flag=false;                      break;                  }                  if(flag&&res.size()<tmp.size())                    res=tmp;                  else if(flag&&res.size()==tmp.size()&&res>tmp)                    res=tmp;              }          }           if(res == "")            cout <<"no significant commonalities" << endl;        else            cout << res << endl;      }      return 0;  }


                                             
0 0