
输入样例1:
5
MaoNiang
SeQing
BaoLi
WeiGui
BuHeShi
4
BianCheng MaoNiang ba! WeiGui De Hua Ye Keyi Shuo! BuYao BaoLi NeiRong.
输出样例1:
BianCheng <censored> ba! <censored> De Hua Ye Keyi Shuo! BuYao <censored> NeiRong.
输入样例2:
5
MaoNiang
SeQing
BaoLi
WeiGui
BuHeShi
3
BianCheng MaoNiang ba! WeiGui De Hua Ye Keyi Shuo! BuYao BaoLi NeiRong.
输出样例2:
3
He Xie Ni Quan Jia!
输入样例3:
2
AA
BB
3
AAABBB
输出样例3:
<censored>A<censored>B
输入样例4:
2
AB
BB
3
AAABBB
输出样例4:
AA<censored><censored>
输入样例5:
2
BB
AB
3
AAABBB
#include <bits/stdc++.h>
using namespace std;
typedef long int ll;
const int N = 1e6 + 10;
void solve()
{
int n;
cin>>n;
string ban[n];
for(int i=0;i<n;i++) cin>>ban[i];
int mx,cnt=0;
cin>>mx;
cin.ignore();
string aa;
getline(cin,aa);
string re="===";
for(int i=0;i<n;i++)
{
int k=aa.find(ban[i]);
while(k!=-1)
{
aa.replace(aa.begin()+k,aa.begin()+k+ban[i].length(),re);
cnt++;
k=aa.find(ban[i]);
}
}
int k=aa.find(re);
while(k!=-1)
{
aa.replace(aa.begin()+k,aa.begin()+k+re.length(),"<censored>");
k=aa.find(re);
}
if(cnt>=mx)
cout<<cnt<<endl<<"He Xie Ni Quan Jia!";
else cout<<aa;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t = 1;
while (t--)
{
solve();
}
return 0;
}