牛客小白月赛36 B. 最短串(暴力)
链接:https://ac.nowcoder.com/acm/contest/11213/B
来源:牛客网
题目描述
给定22个由小写字母和问号组成的字符串aa与bb,问号代表你想要的任何字符。
请你找出最短的字符串ss,要求ss包含aa和bb两个字符串,你只需要输出ss的长度即可。
输入描述:
第一行一个字符串aa,∣a∣≤5000∣a∣≤5000。第二行一个字符串bb,∣b∣≤5000∣b∣≤5000。
输出描述:
输出最短字符串ss的长度。
示例1
输入
复制
abc
?de
输出
复制
5
水题,直接暴力匹配即可。比赛的时候看到过的人不算多想了想脑瘫写了kmp调到吐血。。
#include <bits/stdc++.h>
using namespace std;
string s, t;
bool equal(char a, char b) {
if(a == '?' || b == '?' || a == b) return 1;
else return 0;
}
int calc(string s, string t) {
int ret = 0x3f3f3f3f;
for(int i = 0; i < s.size(); i++) {
bool flag = 1;
for(int j = 0; j < t.size() && i + j < s.size(); j++) {
if(!equal(s[i + j], t[j])) {
flag = 0;
break;
}
}
if(flag) {
ret = min(ret, max(i + (int)t.size(), (int)s.size()));
}
}
return ret;
}
int main() {
cin >> s >> t;
int ans = (int)s.size() + (int)t.size();
ans = min(ans, min(calc(s, t),calc(t, s)));
cout << ans;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-07-16 HDU - 6581 Vacation (贪心+思维+物理)
2020-07-16 CH#46A 磁力块(BFS+分块)