B. War of the Corporations(字符串)
https://codeforces.com/contest/625/problem/B
题意:
给出字符串A(长度不超过100000),字符串B(长度不超过30),问最少修改A中的几个字符使得A中没有一个子串为B。
思路:
遍历字符串A,出现A的子串等于B时,修改最后一个字符,使得修改次数最小。
Code:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a, b;
cin >> a >> b;
int la = a.length();
int lb = b.length();
int ans = 0, i = 0;
while (i <= la - lb)
{
if (a.substr(i, lb) == b)
{
ans++;
i += lb;
}
else i++;
}
cout << ans << endl;
return 0;
}