1221:分成互质组

简介: 1221:分成互质组

1221:分成互质组

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

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

【输入】

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

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

【输出】

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

【输入样例】

6

14 20 33 117 143 175

【输出样例】

3

【来源】

No

互质数为数学中的一种概念,即两个或多个整数的公因数只有1的非零自然数。公因数只有1的两个非零自然数,叫做互质数。

1. #include<bits/stdc++.h>
2. using namespace std;
3. int n,a[21],cnt=99999;
4. long long b[21];
5. long long gcd(long long a,long long b)//求最大公约数 
6. {
7.  if(b==0) return a;
8.  return gcd(b,a%b);
9.  } 
10. void dfs(int k,int step)
11. {
12.   if(step==n+1){//更新最优方案 
13.     if(k<cnt) cnt=k;
14.     return;
15.   }
16.   for(int i=1;i<=k;i++){
17.     if(gcd(b[i],a[step])==1){
18.       b[i]*=a[step];
19.       dfs(k,step+1);
20.       b[i]/=a[step];
21.     }
22.     b[k+1]*=a[step];
23.     dfs(k+1,step+1);
24.     b[k+1]/=a[step]; 
25.   }   
26. }
27. int main()
28. {
29.   scanf("%d",&n);
30.   for(int i=1;i<=n;i++){
31.     cin>>a[i];
32.     b[i]=1;
33.   }
34.   sort(a+1,a+1+n); //从小到大排序 
35.   dfs(1,1);
36.   printf("%d",cnt); 
37.   return 0;
38.  }

 

相关文章
|
负载均衡 Java 应用服务中间件
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
1946 0
【链表】还不会用C++实现链表?一文教会你各种链表的实现
【链表】还不会用C++实现链表?一文教会你各种链表的实现
652 0
|
缓存 网络协议 安全
常见的DNS记录类型总结
【6月更文挑战第17天】DNS记录类型:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件路由)、TXT(文本信息)和NS(DNS服务器指定)。常见DNS攻击有DDoS、DNS缓存中毒、域名劫持和查询嗅探。防护措施包括使用防火墙、安全软件,选择安全DNS服务,定期检查更新服务器,避免旧版软件,及时响应异常。
1206 1
|
JSON 运维 Ubuntu
在Docker上部署Ollama+AnythingLLM完成本地LLM Agent部署
通过以上步骤,您可以成功在Docker上部署Ollama和AnythingLLM,实现本地LLM Agent的功能。在部署过程中,确保环境和配置正确,以避免不必要的问题。希望本文能够帮助您顺利完成部署,并在本地环境中高效地使用LLM模型。
3415 8
|
程序员 编译器 C语言
来,手把手带你写C语言的HelloWorld
本文介绍了如何使用Vscode进行C语言开发,包括安装必要插件、编写Hello World程序及代码解释。Feri强调了注释的重要性,以增强代码可读性和维护性,帮助开发者更好地协作与成长。君志所向,一往无前!
609 1
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
应用服务中间件 Shell PHP
thinkphp 设置运行目录为/public后 404错误
thinkphp 设置运行目录为/public后 404错误
|
消息中间件 存储 Kafka
微服务中常用的几种通信方式
微服务中常用的几种通信方式
Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
在Power BI中,从SharePoint List获取数据时遇到Table和List混合的数据源,直接展开会导致“笛卡尔积”效应,生成过多行。目标是保持行数不变,将Table中的字段与List值用逗号分隔显示在同一行。解决方法包括:1) 添加新列,从Table中提取List的Column2值;2) 使用Text.Combine函数合并List中的值。具体操作步骤包括选择列并自定义新列,然后展开List并以逗号分隔。通过这些步骤,可以将Table转换为所需的字符串格式。完整的Power BI Query代码展示了这一过程。参考链接提供了更多详情。
563 2
|
机器学习/深度学习 人工智能 算法
人工智能在机器人编程与自动化控制中的应用与发展
人工智能在机器人编程与自动化控制中的应用与发展
1245 0