首页 > 其他分享 >U208362 分为互质组

U208362 分为互质组

时间:2025-01-20 18:59:22浏览次数:1  
标签:return int 分为 num ans U208362 互质

U208362 分为互质组

题目与P10483 小猫爬山相识 只需要将判断条件改为是否互质即可

小猫爬山题解

代码:

#include<bits/stdc++.h>
using namespace std;
int a[100];
vector<int>sum[100];

int n,w;
bool b[100];
int ans=INT_MAX;

int isrp(int a,int b){
	if(b==0){
		return a;
	}
	return isrp(b,a%b);
}
bool check(int num,int m){
	bool flag=true;
	for(int i=0;i<sum[num].size();i++){
		if(isrp(sum[num][i],a[m])!=1){
			flag=false;
		}
	}
	return flag;
}
void dfs(int st,int num){
	if (num>=ans)
		return;
	if(st>n){
		ans=num;
		return;
	}
	sum[num+1].push_back(a[st]);
	dfs(st+1,num+1); 
	for(int i=1;i<=num;i++) {
		if(check(i,st)){
			vector<int>now;
			now.clear();
			for(int j=0;j<sum[i].size();j++){
				now.push_back(sum[i][j]);
			}
			sum[i].push_back(a[st]);
			dfs(st+1,num);
			sum[i].clear();
			for(int j=0;j<now.size();j++){
				sum[i].push_back(now[j]);
			}
		}
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}	
	dfs(1,0);
	cout<<ans;
	return 0;
}

标签:return,int,分为,num,ans,U208362,互质
From: https://www.cnblogs.com/XichenOC/p/18682328

相关文章

  • HTML5规范将元素分为哪几个大类?分别说说它们的特点
    HTML5规范将元素主要分为以下几个大类:结构性元素、级块性元素、行内语义性元素以及交互元素。下面分别介绍它们的特点:结构性元素:这类元素主要负责定义Web页面的上下文结构,确保HTML文档的完整性。常见的结构性元素包括<section>、<header>、<footer>、<nav>和<article>等。<......
  • PCIe TLP路由分为几类?都有什么作用
    PCIeTLP(事务层数据包)路由主要分为以下几类及其作用:1.基于地址的路由(Address-BasedRouting)作用:用于MemoryRead/Write和I/ORead/Write等事务,TLP头中包含目标地址,交换机根据该地址将TLP转发到正确的设备。2.基于ID的路由(ID-BasedRouting)作用:用于配置Read/Write和......
  • Wireshark 是一个强大的网络分析工具,支持使用过滤器来筛选数据包,帮助用户高效地分析和
    Wireshark是一个强大的网络分析工具,支持使用过滤器来筛选数据包,帮助用户高效地分析和排查网络问题。Wireshark的过滤命令可以分为多种类型,以下是按功能分类的常见过滤命令,并以表格的形式展示:Wireshark过滤命令按功能分类类别过滤命令描述协议过滤http过滤HTTP......
  • 为什么要把数据模型分为:Entity,DTO,Response,Request呢?具体有什么作用呢
    开发中,我们通常把数据模型分为几个部分,探讨下他们具体都有那些作用。1.Entity(实体)实体类代表数据库表结构,与数据库表一一对应。//例如User.cspublicclassUser:BaseEntity{publicstringUsername{get;set;}publicstringPassword{get;set;}/......
  • 7-403 互质数
    Sg认识到互质数很有用。若两个正整数的最大公约数为1,则它们是互质数。要求编写函数判断两个整数是否互质数。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入1个整数n(1≤n≤100),再输入n行,每行有一对整数a、b(0<a,b<109)。输出格式......
  • NodeJS的模块分为哪几类?
    Node.js的模块主要分为以下三类:内置模块:这些是由Node.js官方提供的模块,内置于Node.js运行环境中。它们提供了许多基本功能,如文件系统操作(fs)、路径处理(path)、HTTP服务器创建(http)等。内置模块无需额外安装,可以直接通过require()函数引入使用。自定义模块:自定义模块是用户根据......
  • halcon中图像滤波分为空间域和频域两种方法
    均值滤波是一种线性平滑滤波。基本思想是用某像素邻域几个像素的平均值代替此像素原来的灰度值。高斯滤波是用某像素邻域几个像素的加权平均值代替此像素的原有灰度值。总结:图像滤波分为空间域和频域两种方法。空间域滤波主要是对像素的直接处理,它将一个像素点周围的像素......
  • python将列表拆分为指定的组
    defchunk_list_by_groups(lst,groups):"""将列表lst拆分成包含指定组数的子列表"""#计算每组应该有多少个元素n=len(lst)//groups#计算剩余的元素个数remainder=len(lst)%groups#初始化结果列表result=[]#初始化起始索引......
  • 在s中一个执行上下文的生命周期可以分为哪几个阶段?
    在JavaScript中,一个执行上下文的生命周期可以分为三个阶段,具体如下:创建阶段(Creationphase):创建变量对象(VariableObject):在这个阶段,JavaScript引擎会扫描当前上下文中的代码,并创建变量对象。这个对象包含了函数的参数、函数声明和变量声明。对于全局上下文,这个对象就是全局对......
  • 在 Windows 10 和 Windows 11 中,PowerShell 提供了丰富的命令,按不同功能可以分为多个
    在Windows10和Windows11中,PowerShell提供了丰富的命令,按不同功能可以分为多个类别。以下是常见的命令类别及其描述的表格:分类命令描述系统信息与管理Get-ComputerInfo获取计算机的系统信息 Get-Process获取当前正在运行的进程列表 Get-Service获......