题目链接L1-101 别再来这么多猫娘了!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<algorithm>
using namespace std;
string s[105], text;
int n, k, ans, a[5005];int main()
{
// ios::sync_with_stdio(0); // getchar不能用这个
// cin.tie(0);cout.tie(0);cin >> n;for (int i = 1; i <= n; i++) cin >> s[i];cin >> k;getchar(); // 用getline前吃掉回车 getline(cin, text); for (int i = 1; i <= n; i++) {while (1) { // 一个单词会出现多次 int p = text.find(s[i]);if (p != -1) { a[++ans] = p;for (int j = p; j < p+s[i].size(); j++) {text[j] = '-'; // 违禁词替换为 - } } else break; // 当前违禁词找不到就break,继续找下一个违禁词 }}sort(a+1, a+ans+1); // 对所有违禁词的位置 从小到大排序 a[ans+1] = -1; // 防止越界 int cnt = 1; if (ans < k) {for (int i = 0; i < text.size(); i++) { if (i == a[cnt]) { // 根据违禁词的位置输出 <censored>cout << "<censored>"; cnt++;}else if (text[i]!='-'){cout << text[i];}}}else {cout << ans << endl;cout << "He Xie Ni Quan Jia!" << endl;}
}