题目链接:https://ac.nowcoder.com/acm/contest/6226/E
思路:这道题数据范围比较小(为1e5),直接根据题意进行暴力模拟就可以了。这道题在codforces上有类似题目,我在这里贴出来供大家进一步思考。注:codeforces上的这道题不能用暴力模拟,否则会TLE。
传送门:http://codeforces.com/problemset/problem/126/B
参考代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
string s;
cin >> s;
int len = s.size();
for (int i = len;i >= 1;i--)
{
string s1 = s.substr(0, i);
string s2 = s.substr(len - i, i);
if (s1 == s2)
{
for (int j = 1;j < len - i;j++)
{
string s3 = s.substr(j, i);
if (s1 == s3)
{
cout << s3 << endl;
return 0;//出现过一次就可以了,这时要立即输出
}
}
}
}
return 0;
}