题目描述:
图片说明
输入描述:

一行字符串 s ,代表黑暗咒语

输出描述:

一个字符串 t ,表示满足条件的最长净化咒语

备注:
图片说明
思路:
这道题数据范围比较小(为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;
}