AlgoMooc
← 返回题库

P3803. 猜密码

中等通过率 44% · 提交 433 · 通过 190
回溯枚举排序

小慕设置了一个保密柜,但自己不小心忘记了密码。 他只记得密码全部由数字组成,而且所有数字都不重复。 请你根据他记住的数字范围和密码的最少数字个数,帮他找出所有可能的。 规则如下: 输出的组合必须从可选的数字范围中选取,且数字不能重复; 输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。 输出的每个组合包含的数字数量要大于等于密码的最少数字个数; 如果可能的组合为空,则返回"None"。

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

输入描述

输入的第一行是可能的密码数字列表,数字间以半角逗号分隔 输入的第二行是密码最小数字数量

输出描述

可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排列。 输出的组合间需要按照字典序排序。比如:2,3,4 放到 2,4 的前面 nk","true"],"2":["inlineCode","true"]},"nextNum":3}},"type":"text","referenceRecordMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"isFromCode":false,"selection":[{"id":15,"type":"text","selection":{"start":0,"end":81},"recordId":"PpEpdcOFjogqehxFqY7cFBGHnHg"}],"payloadMap":{},"isCut":false}" data-lark-record-format="docx/text" class="lark-record-clipboard">

示例

示例 1

输入

2,3,4
2

输出

2,3
2,3,4
2,4
3,4

说明:最小密码数量是两个,可能有三种组合:2,3、2,4、3,4;三个密码有一种:2,3,4

示例 2

输入

2,0
1

输出

0
0,2
2

说明:可能的密码组合,一个的有两种:0、2;两个的有一种:0,2

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

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

登录后查看题目图解

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

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