6.23 d2 2、3、4题

博客内容包括三个独立的题目:寻找字典序排列的特定单词,求使数组变成回文的最小操作次数,以及填充满足特定条件的方阵。每个问题都涉及算法和数学思维,例如使用递归或循环解决搜索问题,通过操作数组实现回文,以及找出满足平均数条件的矩阵填充方法。
摘要由CSDN通过智能技术生成

2、Tavan


描述
小 Zeljko  一直在阁楼里读他奶奶的旧信, 并且发现了一个长度为 N  的单词 。
不幸的是,由于溢出的墨水,他不知道单词的内容。他把看不清的 M  个字母每个字母都用一个字符'#' 替换后,在一张纸上重写了这个词。他把那张纸递给了他的奶奶 , 对于每个看不清的字母 , 奶奶给了他 K 个不同的可能 。 在那之后 ,Zeljko  在笔记本中写下了所有可能的单词,并决定仔细查看他们的属性,以确定原始单词是什么。在看到笔记本上写下的单词后,他的奶奶意识到他们正在
寻找的是按字典序排列的第 X 个单词。Zeljko  在他们学校学习字母表的那天生
病了,所以他要求你帮助他确定原来的单词。
输入
第一行输入包含整数 N,M ,K 和 X (1 ≤N ≤ 500,1 ≤ M ≤N ,1 ≤K ≤ 26,1 ≤X ≤10^{9})。分别表示单词的长度,看不清的字母数量,奶奶给出的字母的数量和原单词是字典序的第几个。
第二行输入包含一个长度为 N  的字符串,由小写英文字母和字符' #' 组成 。
表示 Zeljko  找到的单词,其中字符'#' 表示看不清的字母。
接下来 M 行中的每一行包含一个长度为 K  的字符串, 由 K 个不同的小写英文
字母组成。第 2+i  行的 K  个字母表示第 i i  个看不清的字母的K种可能。
保证 X 总是小于等于能构造出的单词的总数。
输出
输出一个字符串。表示原本的单词。
分数分布
对于  30% 的数据,M=1  并且  K=3 。
对于另外  30% 的数据, M=1 。
样例输入 1
9 2 3 7
po#olje#i
sol
znu
样例输出 1
posoljeni
样例输入 2
4 1 2 2
#rak
zm
样例输出 2
zrak

思路

之前用类似于递归的方法做错了只得了60分,后来改的时候就用循环代替实现

其实就是以k值和m值为基础的方案数的寻找

错误代码(又臭又长又耗时还错)


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值