CF1732A Bestie
思路
观察数据\(n \le 20\)
直接暴力。
我们直接算所有数的\(GCD\),然后枚举\(1\)~\(n\)的每一个数要不要选,然后选的话,就把原来的\(GCD\)和当前枚举的数\(GCD\)一下,最后求最小值就好了。
代码
#include <iostream>
using namespace std;
const int N = 30;
int n;
int a[N];
int ans,cost;
int gcd (int a,int b) {
if (!b) return a;
return gcd (b,a % b);
}
void dfs (int u,int g,int cost) {
if (g == 1) {
ans = min (ans,cost);
return ;
}
if (u > n) return ;
dfs (u + 1,gcd (g,u),cost + n - u + 1);
dfs (u + 1,g,cost);
}
int main () {
int T;
cin >> T;
while (T--) {
cin >> n;
int g;
for (int i = 1;i <= n;i++) {
cin >> a[i];
if (i == 1) g = a[i];
else g = gcd (g,a[i]);
}
if (n == 1) {
if (a[1] == 1) puts ("0");
else puts ("1");
continue;
}
if (g == 1) {
puts ("0");
continue;
}
ans = 2e9;
dfs (1,g,0);
cout << ans << endl;
}
return 0;
}
CF1732A Bestie的更多相关文章
随机推荐
- java 动手动脑 方法重载
如下代码://MethodOverload.java //Using overloaded methods package HJssss; public class zhuce { public st ...
- 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组
var threeSum = function(nums) {let ans = [];const len = nums.length;if(nums == null || len < 3) r ...
- [Python.Unix和Linux系统管理指南]书籍
Python.Unix和Linux系统管理指南书籍下载地址 提取码:eqf4 内容简介 · · · · · · <Python UNIX和Linux系统管理指南>介绍了Python语言如 ...
- vue data functions should return an object
报错: 原因:data里没写return{}
- JS学习-Promise
Promise 一个 Promise 必然处于以下几种状态之一: 待定(pending): 初始状态,既没有被兑现,也没有被拒绝. 已兑现(fulfilled): 意味着操作成功完成. 已拒绝(rej ...
- TypeScript Array(数组)
TypeScript Array(数组) 数组对象是使用单独的变量名来存储一系列的值. 数组非常常用. 假如你有一组数据(例如:网站名字),存在单独变量如下所示: var site1="Go ...
- 053_Salesforce Lightning与Classic对比
Classic页面 Lightning页面 特点: 应用程序的切换更加方便 可以快速访问最近项目和备注等 新的记录页面布局 涡轮增压列表视图 仪表板有所变化 圆滑的报告视图 其中最重要的变化也当属 ...
- Java的访问控制修饰符有哪些?各有什么访问权限?请对照第7页ppt的表格分别写程序验证。
Java的访问控制修饰符有哪些? JAVA主要有两类修饰符: 访问控制修饰符 : default, public , protected, private 非访问控制修饰符 : final, abst ...
- 1903021126 申文骏 Java 第四周作业 Java分支语句学习
项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java第四周作业 博客名称 1903021126 申文骏 Java 第四周作业 Java分支语句学习 要求 每道题要有题目,代码( ...
- 音速启动 Vstart 5.7 win10手动移除后台设置主页
Vstart 用了快12年了,用Wireshark跟踪确实会访问广告页面,也会去上传数据.还会悄悄设置主页 ,所以在Win10上老是被干掉 也想着换 CLaunch 确实不喜欢. Rolan 买了一年 ...