Codeforces Round #342 (Div. 2) B. War of the Corporations 贪心

题目链接:http://codeforces.com/contest/625/problem/B

题意:给你s1 s2,你每次操作可以使得s1串中某个字符变成#,然后问你最小修改多少次,就可以使得s1中不含有s2子串

解法:贪心,我们每次修改最后一个字符就好了 这样相交的一定都被修改了

//CF 625B

#include <bits/stdc++.h>
using namespace std;
string s1, s2;
int main(){
    cin >> s1 >> s2;
    int ans = 0;
    for(int i = 0; i < s1.size(); i++){
        int flag = 0;
        for(int j = 0; j < s2.size(); j++){
            if(i+j > s1.size()){
                flag = 1;
                break;
            }
            if(s1[i+j] != s2[j]){
                flag = 1;
                break;
            }
        }
        if(flag == 0){
            s1[i+s2.size()-1] = '#';
            ans++;
        }
    }
    cout << ans << endl;
}
原文地址:https://www.cnblogs.com/spfa/p/6596175.html