1221:分成互质组

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 7405     通过数: 3453

【题目描述】

给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?

【输入】

第一行是一个正整数n。1 <= n <= 10。

第二行是n个不大于10000的正整数。

【输出】

一个正整数,即最少需要的组数。

【输入样例】

6
14 20 33 117 143 175

【输出样例】

3

【分析】

这道题没有必要放到dfs中,直接枚举即可,n个数,逐一枚举,比较其后所有元素,是否是同质,如果是互质,gcd(a[i],a[j])==1,则加入组中。

【参考代码】

#include<stdio.h>
#define N 15 int a[N];     //存数数组
int vis[N];   //访问数组
int cnt;      //分组数int gcd(int a,int b)
{return a%b==0 ? b : gcd(b,a%b);
}int main()
{int i,j,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){if(!vis[i]){vis[i]=1;cnt++;for(j=i+1;j<n;j++) {if(!vis[j] && gcd(a[i],a[j])==1)  //未访问且互质,添加进组 {a[i]*=a[j];  //2,3互质,再判断就需要和6互质vis[j]=1;}}}}printf("%d\n",cnt);return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1221

信息学奥赛一本通(1221:分成互质组)相关推荐

  1. 小学奥数 7834 分成互质组 python

    http://noi.openjudge.cn/math/7834/ 参考: 信息学奥赛一本通(1221:分成互质组) https://blog.csdn.net/lvcheng0309/articl ...

  2. C++递归算法之分成互质组

    分成互质组 Description 给定n个正整数,将它们分组,使得每组中任意两个数互质.至少要分成多少个组? Input 第一行是一个正整数n.1 <= n <= 10. 第二行是n个不 ...

  3. POJ 7834:分成互质组

    " Ctrl AC!一起 AC!" 原题:忘题戳这 分析:对于一个数,遍历所有的互质组,如果可以进入一个组,并保持组内互质,则总组数不变.否则总组数加一. AC代码: #inclu ...

  4. 分成互质组 (信息学奥赛一本通-T1221)

    [题目描述] 给定n个正整数,将它们分组,使得每组中任意两个数互质.至少要分成多少个组? [输入] 第一行是一个正整数n.1 ≤ n ≤ 10. 第二行是n个不大于10000的正整数. [输出] 一个 ...

  5. 1221:分成互质组

    [题目描述] 给定n个正整数,将它们分组,使得每组中任意两个数互质.至少要分成多少个组? [输入] 第一行是一个正整数n.1 ≤ n ≤ 10. 第二行是n个不大于10000的正整数. [输出] 一个 ...

  6. AcWing 1118. 分成互质组

    题意: 给定 n 个正整数,将它们分组,使得每组中任意两个数互质. 问:至少要分成多少个组? 思路: dfs,对每一个元素,我们有两种操作: ①:放到现有组中的最后一组中(依次枚举最后一组的所有元素, ...

  7. 1118. 分成互质组

    给定 n 个正整数,将它们分组,使得每组中任意两个数互质. 至少要分成多少个组? 输入格式 第一行是一个正整数 n. 第二行是 n 个不大于10000的正整数. 输出格式 一个正整数,即最少需要的组数 ...

  8. 【noi 2.5_7834】分成互质组(dfs)

    有2种dfs的方法: 1.存下每个组的各个数和其质因数,每次对于新的一个数,与各组比对是否互质,再添加或不添加入该组. 2.不存质因数了,直接用gcd,更加快.P.S.然而我不知道为什么RE,若有好心 ...

  9. OpenJudge 7384(分成互质组)

    应hfu要求,近几日整理搜索专题的内容,无意中翻出了一年前死活A不掉的一道不可做题(当时觉得).看着自己的代码风格变化天翻地覆,无奈感叹时间飞逝...算了少矫情管他的先A了再说(ง •̀_•́)ง 先 ...

最新文章

  1. git user name is not defined
  2. RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
  3. XDP/eBPF — 架构设计
  4. ROS安装配置相关问题
  5. A Common Framework for Interactive Texture Transfer(CVPR 2018)学习笔记
  6. js遍历多层嵌套对象存在的JSO数据
  7. JPA 2.1和Java EE 7中的JPQL增强功能(第1部分– JOIN ON)
  8. 冷知识:摄影艺术与图像处理算法之间的纠葛关系你知道吗
  9. data的值 如何初始化vue_Vue原理解析(九):搞懂computed和watch原理,减少使用场景思考时间...
  10. 表格为一条细线的html代码,html制作细线表格的简单实例
  11. elastic search与postgresql的数据同步
  12. phpcms v9 在当前栏目下获取父栏目与当前栏目的名称与连接
  13. Qt核心剖析: moc
  14. Creo参数曲面设计视频教程
  15. 陶哲轩1(数学牛孩的成长研究
  16. mac电脑怎么彻底关闭系统更新提示?
  17. 重装系统后电脑耳机插前面没有声音输出怎么办?
  18. SyncAdapter同步机制
  19. 【日语】日语学习计划(转载)
  20. 论文翻译解读:Efficient estimation of word representations in vector space【Word2Vec】

热门文章

  1. IBM 2013策略发布:大数据和分析、云计算、企业移动、社交商务、智慧商务、智慧城市...
  2. linux 开发异常错误记录
  3. Jwplayer5.10视频拍照(截图)
  4. 元宇宙时代,技术长什么样
  5. Simulink之交流调压电路
  6. STM32之SPI从机DMA例程
  7. oracle 嵌套游标慢,oracle 嵌套游标以及java,oracle的时间处理
  8. 还在手写 Getter/Setter 方法吗?Lombok 让你的代码更简洁!
  9. 高并发整体可用性:大规模集群下的分片管理策略
  10. 几幅图,拿下 HTTPS