欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1796B.Asterisk-Minor Template
Asterisk-Minor Template
题目描述
给定两个仅由小写拉丁字母组成的字符串 和 。
一个模板 是仅由小写拉丁字母和星号(字符 '*')组成的字符串。如果模板中星号的数量不超过字母的数量,则称其为“星号-次要模板”。
如果可以将模板 中的每个星号替换为任意小写拉丁字母组成的字符串(可以为空串),使其变为字符串 ,则称字符串 匹配模板 。
请你构造一个星号-次要模板,使得 和 都能匹配该模板,或者报告不存在这样的模板。如果有多个答案,输出任意一个即可。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含一个字符串 (,其中 表示 的长度),仅包含小写拉丁字母。
第二行包含一个字符串 (),仅包含小写拉丁字母。
输出格式
对于每个测试用例,如果不存在一个星号-次要模板使得 和 都能匹配,输出一行 "NO"。
否则,第一行输出 "YES",第二行输出任意一个满足条件的模板。模板只能包含小写拉丁字母和星号(字符 '*'),且星号数量不超过字母数量。
说明/提示
在第一个测试用例中,对于模板 "*b",你可以将唯一的星号替换为 "aaa" 得到 "aaab"(等于 ),或替换为 "zzz" 得到 "zzzb"(等于 )。
在第三个测试用例中,模板 "*o*" 不是星号-次要模板,因为它包含的星号数量多于字母数量。不存在能同时匹配 和 的星号-次要模板。
在第四个测试用例中,对于模板 "a*a*a*a",你可以将所有星号替换为空串得到 "aaaa"(等于 ),或将其中两个星号替换为 "a",其余两个替换为空串得到 "aaaaaa"(等于 )。
在第五个测试用例中,模板 "abcd" 中没有星号,因此只有 "abcd" 能匹配它(恰好 和 都等于 "abcd")。
由 ChatGPT 4.1 翻译
样例
6
aaab
zzzb
codeforces
atcoder
codeforces
tokitlx
aaaa
aaaaaa
abcd
abcd
c
f
YES
*b
YES
*co*
NO
YES
a*a*a*a
YES
abcd
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |