BestCoder Round #49 ($) HDU 5339 Untitled(1001)
2015-09-10 18:39
190 查看
HDU 5339 Untitled
Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)
问题描述
有一个整数aa和nn个整数b_1, \ldots, b_nb1,…,bn。在这些数中选出若干个数并重新排列,得到c_1, \ldots, c_rc1,…,cr。我们想保证a \ mod \ c_1 \ mod \ c_2 \ mod \ldots \ mod \ c_r = 0a mod c1 mod c2 mod… mod cr=0。请你得出最小的rr,也就是最少要选择多少个数字。如果无解,请输出-1−1.
输入描述
输入文件的第一行有一个正整数 T \leq 5T≤5,表示数据组数。 接下去有TT组数据,每组数据的第一行有两个正整数nn和aa (1 \leq n \leq 20, 1 \leq a \leq 10^{6}1≤n≤20,1≤a≤106). 第二行有nn个正整数b_1, \ldots, b_nb1,…,bn (\forall 1\leq i \leq n, 1 \leq b_i \leq 10^{6}∀1≤i≤n,1≤bi≤106).
输出描述
输出TT行TT个数表示每次询问的答案。
输入样例
2 2 9 2 7 2 9 6 7
输出样例
2 -1
出题人:
对于一组可能的答案cc,如果先对一个觉小的c_ici取模,再对一个较大的c_jcj取模,那么这
个较大的c_jcj肯定是没有用的。因此最终的答案序列中的cc肯定是不增的。那么就枚举选
哪些数字,并从大到小取模看看结果是否是00就可以了。时间复杂度O(2^n)O(2n).
相关文章推荐
- iOS开发-Xcode Debug、Release、Archive、Profile、Analyze概念解释
- 9-9课堂笔记
- Java内部类详解
- springMVC3得知(五岁以下儿童)--MultiActionController
- 字符
- onContextItemSelected 用法
- fix bug: cannot build OpenCV 2.4.11 with CUDA 7.0
- hdu 4007 Dave(线性探查+枚举)
- 9-6课堂笔记
- 9-2课堂笔记
- poj 1463 Strategic game 树形dp
- 关于多线程下载时计算数据块大小、下载起始位置、结束位置的理解
- ActiveReport9 在MVC4项目中出错
- Android(java)学习笔记223:上下文的区分
- [LeetCode] Wiggle Sort
- 简单字符设备驱动流程
- WireShark 过滤 SSDP
- empty() 与 isset()
- Unity3D占用内存太大的解决方法
- 非阻塞IO--fcntl