消除危机
难度:
时间限制:1s
内存限制:256M
【题目描述】
在星际争霸中,指挥官正在为他的机械工兵准备一本娱乐杂志《推进器》以提高士气。然而,最新一期的杂志不小心包含了一篇有关如何有效摧毁地堡防御的战术文章。显然,这是一个巨大的安全隐患,因为地堡是他们防御系统的关键。显然,这本杂志的编辑疏忽大意了。
为了防止机械工兵读到这篇不当的文章,指挥官决定从电子版杂志中删除所有包含敏感信息的代码字串。他创建了一个字符串
𝑠
s,代表杂志的文本内容。接下来,他需要找到并删除子字符串
𝑡
t的所有出现。约翰会找到
𝑡
t在
𝑠
s中的第一次出现并将其删除,然后重复这个过程,直到
𝑠
s中不再有
𝑡
t的出现。值得注意的是,删除某个出现的
𝑡
t可能会在原本不存在的地方创造出一个新的
𝑡
t出现。
请帮助指挥官确定在审查完成后
𝑠
s的最终内容。
【输入格式】
第一行将包含
𝑠
s。第二行将包含
𝑡
t。
𝑡
t的长度最多与
𝑠
s相同,
𝑠
s和
𝑡
t的所有字符都是小写字母。
【输出格式】
删除所有出现后的字符串
𝑠
s。保证在删除过程中
𝑠
s不会变为空。
【输入输出样例#1】
输入#1
terrananmightisright
ran
复制
输出#1
temightisright
复制
【数据范围】
字符串
𝑠
s最多包含
1
0
6
10
6
个字符,
𝑡
t的长度不超过
100
100个字符
c++基础组(消除危机)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
题目分析: 这道题其实就是字符串的模拟操作。我们可以使用循环不停地删除指定字符串,直到字符串中不再包含需要删去的子串为止。具体实现时可以使用字符串的find()函数来查找并删除指定子串。 参考代码: C++ 代码:#include <iostream> #include <string> using namespace std; int main() { string s, t; cin >> s >> t; while (true) { int pos = s.find(t); if (pos != string::npos) { s.replace(pos, t.length(), ""); } else { break; } } cout << s << endl; return 0; }
Python 代码:
s = input().strip() t = input().strip() while True: pos = s.find(t) if pos != -1: s = s[:pos] + s[pos+len(t):] else: break print(s)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 python批量提取发票的信息
- ¥15 mysql安装,初始化数据库失败
- ¥15 虚幻五引擎内容如何上传至网盘?
- ¥15 使用mmpose库时出现了问题
- ¥15 IRI2016模型matlab运行报错
- ¥50 bat怎么设置电脑后台自动点击网页指定词运行脚本,输入指定网页链接,指定点击词,指定间隔时间,指定网页出现的词,指定网页出现词出现后后点击锁定,放在后台运行不影响前台鼠标工作
- ¥20 20CrMnMo的高温变形抗力
- ¥15 RTX3.6 5565驱动中断报错
- ¥50 带防重放token(Antireplay-Token)的网站怎么用Python发送请求
- ¥15 visa版本没问题,串口调试助手调试串口正常使用,但是labview刷新不出来