#YHCSPJMN120004. 点集选取
点集选取
点集选取
题目背景
在育华学校的数学与算法实践课程里,有这样一个关于点集选取的问题。给定若干带有数值的点,基于数值间的倍数关系构建无向边,需要找出包含点数最多的子集,使得子集中任意两点间都有边相连(即数值满足相互为倍数关系 )。
题目描述
现有 个点,每个点对应一个数值 。当且仅当 是 的整数倍,或者 是 的整数倍时,点 和点 之间可连一条无向边。任务是从这 个点中选出一个点集 ,使 中任意两点间都有边,且 的点数最多,求该最大点数。
输入格式
第一行输入一个整数 ,表示点的数量。
接下来一行输入 个正整数 ,依次为每个点对应的数值。
输出格式
输出一个正整数,为满足条件的最大点集的点数。
样例
样例输入 1
6
2 1 7 9 6 2
样例输出 1
4
样例解释
可选取点集对应的数值为 (对应原输入中的第1、2、5、6个点 ),其中任意两个数值,一个是另一个的倍数,所以最大点集大小为4。
数据规模与测试点(共20个测试点 )
测试点编号 | 范围 | 范围 | 特殊性质 |
---|---|---|---|
#1~#2 | |||
#3~#4 | |||
#5~#8 | |||
#9~#12 | |||
#13~#20 |
相关
在下列比赛中: