博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FZU 2158
阅读量:5949 次
发布时间:2019-06-19

本文共 875 字,大约阅读时间需要 2 分钟。

 

在密室逃脱游戏中,大家被困在一个密室中,为了逃出密室,需要找到正确的数字密码,于是大家分头行动,分别找到了密码的子序列,而后大家将得到的线索集中整理分析,大家想知道密码最少是多少位。

 Input

第一行输入一个整数T,表示数据组数。接下来T组数据,对于每组数据,第一行输入一个整数n (1<=n<=7),表示有n个人,接下来第2到n+1行每行输入一串数字,分别表示第i个人得到的密码子序列(长度<=6)。

 Output

对于每组数据,请输出个数字,即可行密码的最短长度。

 Sample Input

1
3
123
14
21

 Sample Output

5

 

代码来源:

大致思路:用七维数组分别记录各个密码片段的长度在以各个密码为第一与所有的进行比较。如果相同,则

t[ i ]--,同时用f数组进行记录,后面复原。(感觉dp好难得想到!)

#include
#include
#include
#include
#include
using namespace std;#define inf (1<<28)int dp[7][7][7][7][7][7][7],n,t[8];char s[8][10];int dfs(int a,int b,int c,int d,int e,int f,int g){ if(a==0&&b==0&&c==0&&d==0&&e==0&&f==0&&g==0) return 0; if(dp[a][b][c][d][e][f][g]) return dp[a][b][c][d][e][f][g]; int minx=inf; for(int j=0;j

  

转载于:https://www.cnblogs.com/Przz/p/5409819.html

你可能感兴趣的文章
wireshark抓取过滤本地封包
查看>>
【android】 浏览文件,如浏览sd卡下的图片文件
查看>>
.net经典书籍
查看>>
小练习-请客吃饭
查看>>
ConcurrentHashMap(Java8)源码分析
查看>>
Python文件处理之文件指针(四)
查看>>
Numpy用法详解
查看>>
DataGridView在vb.net中的操作技巧
查看>>
PMP考试冲刺进行中。。。
查看>>
大换血的代价
查看>>
Learn in FCC(3)
查看>>
RunLoop--
查看>>
chrome 2行换行省略号 ... text-ellipse
查看>>
有用网站
查看>>
注册asp.net 4.0 到iis
查看>>
非负矩阵分解(2):算法推导与实现
查看>>
[LeetCode] Maximal Rectangle
查看>>
linux系统上解决postgres远程连接不上的问题
查看>>
从Redux源码探索最佳实践
查看>>
python的可变数据类型和不可变类型
查看>>