2024团体程序设计天梯赛L1-101 别再来这么多猫娘了!

题目链接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;
	}
} 

 

### 团体程序天梯赛 L1 题目解析 #### L1-1 编程解决一切 此题通常涉及简单的编程逻辑,可能要求选手完成基础算法实现或者数据处理任务。例如,给定一组输入数据,编写一段代码来计算特定的结果并输出[^1]。 ```python # 示例代码:假设问题是求两个整数之和 a, b = map(int, input().split()) print(a + b) ``` #### L1-2 再进去几个人 该类问题一般围绕队列管理展开,比如模拟房间人数变化过程。通过读取一系列操作指令(如进入或离开),最终统计当前状态下的总人数或其他相关信息。 ```python people_inside = 0 n_operations = int(input()) # 输入操作数量 for _ in range(n_operations): operation = input() if 'enter' in operation: people_inside += 1 elif 'leave' in operation: people_inside -= 1 print(people_inside) # 输出最后的人数 ``` #### L1-3 帮助色盲 此类题目可能会考察颜色识别转换能力,即如何将一种表示形式的颜色转译成另一种适合特殊人群的形式。这需要理解不同色彩模型之间的映射关系。 #### L1-4 四项全能 四项全能可能是综合性的简单挑战集合,每部分单独测试一个小知识点,整体难度较低但覆盖广泛。 #### L1-5 别再来这么了 关于这个问题的具体描述尚不明确,但从名称推测或许涉及到字符串匹配与替换技术的应用场景之一就是过滤敏感词汇[^2]。下面展示了一个基本方法用于检测并隐藏指定关键词: ```python def censor_text(text, banned_words): result = text for word in banned_words: result = result.replace(word, "<censored>") return result input_text = "这是一个包含某些违禁词的句子" banned_list = ["违禁", "不良"] output = censor_text(input_text, banned_list) print(output) ``` #### 比赛规则概述 团体程序设计天梯赛旨在评估参赛者的基础编码技能以及快速解决问题的能力。比赛分为个级别(L1,L2,...),其中L1属于入门级试题集,主要面向初学者设置较为直白的任务需求;而随着等级升高,相应也会增加复杂度较高的算法应用考验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值