当前位置: 首页 > wzjs >正文

上海网站制作公司多少钱建设银行宁波分行招聘网站

上海网站制作公司多少钱,建设银行宁波分行招聘网站,wordpress怎么加动态背景图图片,成都网站内容策划目录 牛客_kotori和素因子_DFS 题目解析 C代码 Java代码 牛客_kotori和素因子_DFS kotori和素因子 描述: kotori拿到了一些正整数。她决定从每个正整数取出一个素因子。但是,kotori有强迫症,她不允许两个不同的正整数取出相同的素因子…

目录

牛客_kotori和素因子_DFS

题目解析

C++代码

Java代码


牛客_kotori和素因子_DFS

kotori和素因子

描述:

kotori拿到了一些正整数。她决定从每个正整数取出一个素因子。但是,kotori有强迫症,她不允许两个不同的正整数取出相同的素因子。

她想知道,最终所有取出的数的和的最小值是多少?

注:若 a mod k==0,则称 k 是 a 的因子。若一个数有且仅有两个因子,则称其是素数。显然1只有一个因子,不是素数。

输入描述:

第一行一个正整数 n ,代表kotori拿到正整数的个数。 第二行共有 n 个数 ai,表示每个正整数的值。 保证不存在两个相等的正整数。

1≤n≤10

2≤ai≤1000

输出描述:

一个正整数,代表取出的素因子之和的最小值。若不存在合法的取法,则输出-1。


题目解析

        这道题目要求为数组中的每个数选择一个互不重复的质因数,使得这些质因数的和最小。通过回溯法(DFS)枚举所有可能的质因数组合,并在过程中剪枝和记录最小值,最终可以得到答案。如果没有合法组合,则返回-1。这是一种典型的组合优化问题,适合用深度优先搜索来解决。

C++代码

#include <iostream>
#include <set>
#include <vector>
#include <cmath>
using namespace std;int ret = 0x3f3f3f3f;
bool use[1007]; // 记录路径中⽤了哪些值
int pathSum; // 记录当前路径中所有元素的和
int n = 0;bool is_prime(int n)
{int i = 0;for (i = 2; i <= sqrt(n); i++){if (0 == n % i)return false;}return true;
}void dfs(vector<int>& a, int pos)
{if(pos == n){ret = min(ret, pathSum);return;}for(int i = 2; i <= a[pos]; i++){if(a[pos] % i == 0 && is_prime(i) && !use[i]){pathSum += i;use[i] = true;dfs(a, pos + 1);pathSum -= i;use[i] = false;}}
}int main()
{cin >> n;vector<int> a(n);for(int i = 0; i < n; ++i){cin >> a[i];}dfs(a, 0);if(ret == 0x3f3f3f3f)cout << -1 << endl;elsecout << ret;return 0;
}

Java代码

import java.util.*;
public class Main
{public static int n;public static int[] arr;public static boolean[] use = new boolean[1010]; // 记录路径⾥⾯选了哪些元素public static int path; // 记录路径⾥⾯所有元素的和public static int ret = 0x3f3f3f3f; // 记录最终结果public static boolean isPrim(int x){if(x <= 1)return false;for(int i = 2; i <= Math.sqrt(x); i++){if(x % i == 0) return false;}return true;}public static void dfs(int pos){if(pos == n){ret = Math.min(ret, path);return;}// 枚举 arr[pos] ⾥⾯所有的素因⼦for(int i = 2; i <= arr[pos]; i++){if(arr[pos] % i == 0 && !use[i] && isPrim(i)){path += i;use[i] = true;dfs(pos + 1);// 回溯 - 恢复现场use[i] = false;path -= i;}}}public static void main(String[] args){Scanner in = new Scanner(System.in);n = in.nextInt();arr = new int[n];for(int i = 0; i < n; i++){arr[i] = in.nextInt();}dfs(0);if(ret == 0x3f3f3f3f)System.out.println(-1);elseSystem.out.println(ret);}
}
http://www.dtcms.com/wzjs/553303.html

相关文章:

  • 全国建设建管中心网站国外的智慧城市建设网站
  • 医院网站建设情况说明wordpress 影楼
  • 怎样做一个网站赚钱吗WordPress搭建连不上数据库
  • 选择赣州网站建设苏州手机网站搭建
  • 常州网站制作报价静态动漫网站模板
  • 自己做企业网站用哪个软件微网站开发第三方平台
  • 下单网站搭建wordpress搬家502
  • 番禺网站开发哪家好石家庄建设网站公司哪家好
  • 网页设计模板网站推荐济南网站推广徽hyhyk1
  • 做封面的网站在哪里注册公司流程和费用需要哪些条件
  • 20个优秀的响应式设计html5网站模板软文广告属于什么营销
  • 江门城乡建设局官方网站站群系统软件
  • 采集微信公众号 做网站重庆潼南网站建设价格
  • 全国最新网站备案查询北京搜索引擎推广服务
  • 凡客建站快车做造价在那个网站比较好
  • 靖江做网站哪家好四川广汉市规划和建设局网站
  • dw做网站有哪些用处传统营销渠道有哪些
  • 北京网站排名方案企业网站 php
  • 东莞网站推广定制公司东莞网站建设17
  • 江西网站建设企业邮箱号怎么注册
  • 旅游网站建设经费预算做策划 都上什么网站
  • 网站jquery在线优化p2p万能搜索种子
  • 太原关键词排名优化深圳免费网站排名优化
  • 房地产电子商务的网站建设宾馆网站制作
  • 网站建设管理维护责任书格式无忧网站源码
  • 建设推广网站建网站建设网站
  • 微信电影网站怎么做的网络公司营业范围
  • 电子商务 网站模板做cps的网络文学网站
  • 同城同镇网站建设wordpress 回复某个人
  • 买机票便宜的网站建设做个简单网站大概多少钱