AlgoMooc
← 返回题库

P3816. 字母组合

中等通过率 61% · 提交 121 · 通过 74
回溯哈希表字符串枚举

每个数字对应多个字母,对应关系如下: 0:a,b,c 1:d,e,f 2:g,h,i 3:j,k,l 4:m,n,o 5:p,q,r 6:s,t 7:u,v 8:w,x 9:y,z 小慕正在开发一个电话号码转字母组合的实用工具。输入一串数字后,通过数字和字母的对应关系可以得到多个字母字符串(要求)。 屏蔽规则:串中的所有字母不能同时在输出的字符串中出现。例如屏蔽字符串是 abc,则要求生成的字符串中不能同时出现 a、b、c,但允许同时出现 a 和 b、a 和 c、b 和 c 等情况。 给定一个数字字符串和一个屏蔽字符串,输出所有可能的字符组合。 例如输入数字字符串 78 和屏蔽字符串 ux,输出结果为 uw,vw,vx。数字字符串 78 可以得到如下字符串:uw、ux、vw、vx。由于 ux 是屏蔽字符串,因此排除 ux,最终的输出是 uw、vw、vx。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入为一串数字字符串,数字字符串中的数字不允许重复,数字字符串的长度大于 0,小于等于 5; 第二行输入是屏蔽字符,屏蔽字符的长度一定小于数字字符串的长度,屏蔽字符串中字符不会重复。

输出描述

输出可能的字符串组合 注:字符串之间使用逗号隔开,最后一个字符串后携带逗号

示例

示例 1

输入

78
ux

输出

uw,vw,vx,

示例 2

输入

78
x

输出

uw,vw,

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。