Codeforces 1203D1. Remove the Substring 暴力

题意:给出两个字符串,第一个为长字符串,子串中包含第二个串,可以从第一个串中删除一段连续的子串,这个操作需要保证删除后仍包含第二个串,求出删除的串的最大长度
思路:由于数据很小(200),故可以直接暴力,枚举删除的段的左右边界,判断删除之后是否仍包含第二个串,取删除的段的最大长度即可

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6+10;
const int inf = 0x3f3f3f3f;
int main()
{
	string s1, s2;
	cin >> s1 >> s2;
	int ans = 0;
	for (int i = 0; i < s1.length(); i++)
		for (int j = i; j < s1.length(); j++) {
			int cur = 0;
			for (int k = 0; k < s1.length(); k++) {
				if (i <= k && k <= j) continue;
				if (s1[k] == s2[cur]) cur++;
			}
			if (cur == s2.length())
				ans = max(ans, j-i+1);
		}
	cout << ans << "\n";
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章