找基本组成字符串

来源:互联网 发布:做淘宝云客服工资多少 编辑:程序博客网 时间:2024/05/23 11:49
Description
有一字符串,是通过一个最基本的字符串不停复制拼接而成的。
例如:
1212121212121212
是通过“12”不停的复制变成的。
 
第一次    12
第二次    1212
第三次    12121212
第四次    1212121212121212
 
 
现在,给你这样一串字符串,希望你能找到合成这样一字符串的最短的基本字符串。
Input

 有多行输入,每一行给出上述的一字符串(长度不超过1000)。

Output

 对于每个字符串,输出最基本的一个字符串。

Sample Input
Copy sample input to clipboard
1212121212121212
Sample Output
12
#include <iostream>#include <cstdio>using namespace std;int main(){string s;while(cin>>s){while(s.substr(0,s.size()/2) == s.substr(s.size()/2,s.size()/2)){s = s.substr(0,s.size()/2);                  //这一步不能漏,因为可能会陷入死循环,导致超时                        if(s.size() == 1){break;}}cout<<s<<endl; //printf("%s\n",s);}return 0;}


0 0