PTA 天梯赛 L1-101 别再来这么多猫娘了!

L1-101 别再来这么多猫娘了!

以 GPT 技术为核心的人工智能系统出现后迅速引领了行业的变革,不仅用于大量的语言工作(如邮件编写或文章生成等工作),还被应用在一些较特殊的领域——例如去年就有同学尝试使用 ChatGPT 作弊并被当场逮捕(全校被取消成绩)。相信聪明的你一定不会犯一样的错误!

言归正传,对于 GPT 类的 AI,一个使用方式受到不少年轻用户的欢迎——将 AI 变成猫娘:

在这里插入图片描述
部分公司使用 AI 进行网络营销,网友同样乐于使用“变猫娘”的方式进行反击。注意:图中内容与题目无关,如无法看到图片不影响解题。

当然,由于训练数据里并不区分道德或伦理倾向,因此如果不加审查,AI 会生成大量的、不一定符合社会公序良俗的内容。尽管关于这个问题仍有争论,但至少在比赛中,我们还是期望 AI 能用于对人类更有帮助的方向上,少来一点猫娘。

因此你的工作是实现一个审查内容的代码,用于对 AI 生成的内容的初步审定。更具体地说,你会得到一段由大小写字母、数字、空格及 ASCII 码范围内的标点符号的文字,以及若干个违禁词以及警告阈值,你需要首先检查内容里有多少违禁词,如果少于阈值个,则简单地将违禁词替换为<censored>;如果大于等于阈值个,则直接输出一段警告并输出有几个违禁词。

输入格式:
输入第一行是一个正整数 N N N ( 1 ≤ N ≤ 100 1≤N≤100 1N100),表示违禁词的数量。接下来的 N N N 行,每行一个长度不超过 10 的、只包含大小写字母、数字及 ASCII 码范围内的标点符号的单词,表示应当屏蔽的违禁词。
然后的一行是一个非负整数 k k k ( 0 ≤ k ≤ 100 0≤k≤100 0k100),表示违禁词的阈值。
最后是一行不超过 5000 个字符的字符串,表示需要检查的文字。
从左到右处理文本,违禁词则按照输入顺序依次处理;对于有重叠的情况,无论计数还是替换,查找完成后从违禁词末尾继续处理。

输出格式:
如果违禁词数量小于阈值,则输出替换后的文本;否则先输出一行一个数字,表示违禁词的数量,然后输出He Xie Ni Quan Jia!

输入样例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
输出样例5:
AAA<censored>B
#include<bits/stdc++.h>
using namespace std;

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;cin>>n;
	
	vector<string> b(n);
	for(int i=0;i<n;i++) cin>>b[i];
	
	int k;cin>>k;
	cin.get();
	
	string s;
	getline(cin,s);
	int res=0;
	
	for(int i=0;i<n;i++)
	{
		while(s.find(b[i])!=-1) 
		{
			int pos=s.find(b[i]);
			res++;
			s.erase(pos,b[i].size());
			s.insert(pos,"!@#");//替换的这个东西必须比较复杂才能过
		}
	}
	
	if(res>=k) 
	{
		cout<<res<<"\n";
		cout<<"He Xie Ni Quan Jia!\n";
	}
	else 
	{
		while(s.find("!@#")!=-1)
		{
			int pos=s.find("!@#");
			s.erase(pos,3);
			s.insert(pos,"<censored>");
		}
		cout<<s<<"\n";
	}
	
    return 0;
}

相关推荐

  1. 第19届PTA天梯 这么

    2024-05-02 20:04:02       36 阅读
  2. 2021PTA天梯

    2024-05-02 20:04:02       42 阅读
  3. pta团体程序设计天梯——练习集(1-10题)

    2024-05-02 20:04:02       53 阅读
  4. PTA天梯习题 L2-004 这是二叉搜索树吗?

    2024-05-02 20:04:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 20:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 20:04:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 20:04:02       82 阅读
  4. Python语言-面向对象

    2024-05-02 20:04:02       91 阅读

热门阅读

  1. PyMJCF 使用教程

    2024-05-02 20:04:02       25 阅读
  2. 分布式存储系统学习(1)

    2024-05-02 20:04:02       32 阅读
  3. Pyserini

    Pyserini

    2024-05-02 20:04:02      29 阅读
  4. Flutter:继承接口类,并将多个子类实例化

    2024-05-02 20:04:02       33 阅读
  5. 使用 Python 和 Keras 实现卷积神经网络

    2024-05-02 20:04:02       40 阅读
  6. 13、Flink 的 Operator State 详解

    2024-05-02 20:04:02       28 阅读
  7. C#面:ASP.NET 的身份验证方式有哪些

    2024-05-02 20:04:02       28 阅读
  8. 认识异常,自定义异常

    2024-05-02 20:04:02       27 阅读
  9. 创建并管理Python虚拟环境:深入理解venv

    2024-05-02 20:04:02       25 阅读
  10. python 关键字(import)

    2024-05-02 20:04:02       31 阅读
  11. Spring中控制反转究竟反转的什么

    2024-05-02 20:04:02       26 阅读
  12. DNS解析过程

    2024-05-02 20:04:02       37 阅读