#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; }
poj 3080 Blue Jeans (串)
最新推荐文章于 2019-03-17 08:29:59 发布