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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章