6483: 数据分组

内存限制:256 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

给定n个正整数,将它们分组,使得每组中的任意两个数互质(它们最大公约数为1)。按照以下算法可以得到最少的组数:

第一步:将第1个整数分到第1组;

第二步:尝试将第2个至第n个整数分到已有的分组中,若能分到已有的分组中,则分到第一个符合条件的组;若不能分到已有的组,则分到新生成的组中。

经过回溯算法,可以找到最小的分组数量。

例如对“70,99,25,54,11,100”6个整数分组,具体分组情况如下表所示:


组别

第一组

位置

0

1

2

3

4

5

6


2

70

99

0

0

0

0

组别

第二组

位置

7

8

9

10

11

12

13  ...


3

25

54

11

0

0

0   ...


输入格式

第一行为n, 表示数据的个数
第二行为n个空格隔开的正整数,表示分组的数据。

输出格式

一行一个正整数,表示最小分组数量。

输入样例 复制

6
70 99 25 54 11 100

输出样例 复制

3

分类标签