Codeforces Round #660 (Div. 2) A. Captain Flint and Crew Recruitment、Captain Flint and a Long Voyage
题目链接:Captain Flint and Crew Recruitment
题意:
t组输入,每一组输入一个n。这里我们说一下题目定义的近似质数概念:
“如果可以将正整数x表示为p⋅q,则将其定义为近似质数,其中1 <p <q,p和q是质数。 例如,整数6和10几乎是质数(因为2⋅3= 6和2⋅5= 10),但整数1、3、4、16、17不是。”
这里我们把n分成四个数的和,你需要使这四个数中的至少三个数都是近似质数,且要保证这四个数互不相等
如果能找出来这四个数就输出,否则输出NO
题解:
因为只需要三个数都是近似质数就行,那么最小的三个近似质数是6,10,14那么n的大小最小要等于31才可以有解
这里要注意,题目要求四个数要互不相等,那么我们就需要特判一下36,40,44
代码:

1 #include<stack>
2 #include<queue>
3 #include<map>
4 #include<cstdio>
5 #include<cstring>
6 #include<iostream>
7 #include<algorithm>
8 #define fi first
9 #define se second
10 using namespace std;
11 typedef long long ll;
12 const int maxn=1e5+10;
13 const int mod=1e9+7;
14 const double eps=1e-8;
15 int a[maxn],b[maxn];
16 int main()
17 {
18 int t;
19 scanf("%d",&t);
20 while(t--)
21 {
22 int n;
23 scanf("%d",&n);
24 if(n==36)
25 {
26 printf("YES\n");
27 printf("5 6 10 15\n");
28 }
29 else if(n==40)
30 {
31 printf("YES\n");
32 printf("15 6 10 9\n");
33 }
34 else if(n==44)
35 {
36 printf("YES\n");
37 printf("6 7 10 21\n");
38 }
39 else if(n>6+10+14)
40 {
41 printf("YES\n");
42 printf("6 10 14 ");
43 printf("%d\n",n-30);
44 }
45 else
46 {
47 printf("NO\n");
48 }
49 }
50 return 0;
51 }
题目链接:Captain Flint and a Long Voyage
题意:
t组输入,每组数据给你一个n,代表数x的长度,这个x是你需要找到的一个整数。你把x的每一位数转化成二进制形式后就是k
例如 x=729, 那么 k=111101001 (因为 7=111, 2=10, 9=1001).
然后你把k的末尾n个二进制数删除,就是最后的结果,例如上面的例子删除之后就变成了111101
你要使这个结果尽可能的大,所以给你一个n,让你求能使最后结果尽可能大的最小的那个x是多少,然后输出x
题解:
你会发现整数8、9转化成二进制都是4位,所以我们的x肯定是由8、9构成的,那么什么时候用8什么时候用9呢?
比较来看8、9的二进制形式也就只有最后一位不同
题目又说输出那个最小的x,题目的x转化成k之后,还要删除末尾的n个二进制数。删除这n个二进制数由8这个整数构成才可以使得x最小
所以x的最后n/4+(n%4!=0)位输出8,剩下的输出9
代码:

1 #include<stack>
2 #include<queue>
3 #include<map>
4 #include<cstdio>
5 #include<cstring>
6 #include<iostream>
7 #include<algorithm>
8 #define fi first
9 #define se second
10 using namespace std;
11 typedef long long ll;
12 const int maxn=1e5+10;
13 const int mod=1e9+7;
14 const double eps=1e-8;
15 int a[maxn],b[maxn];
16 int main()
17 {
18 int t;
19 scanf("%d",&t);
20 while(t--)
21 {
22 int n;
23 scanf("%d",&n);
24 int ans=n/4;
25 if(n%4)
26 ans++;
27 for(int i=1;i<=n-ans;++i)
28 printf("9");
29 for(int i=1;i<ans;++i)
30 printf("8");
31 printf("8\n");
32 }
33 return 0;
34 }
Codeforces Round #660 (Div. 2) A. Captain Flint and Crew Recruitment、Captain Flint and a Long Voyage的更多相关文章
- Codeforces Round #660 (Div. 2) A、B、C题解
A. Captain Flint and Crew Recruitment #构造 题目链接 题意 定义一类正整数,能够被\(p*q\)表示,其中\(p.q(1<p<q)\)均为素数,称之 ...
- Codeforces Round #660 (Div. 2)
A. Captain Flint and Crew Recruitment 题意:定义了一种数(接近质数),这种数可以写成p*q并且p和q都是素数,问n是否可以写成四个不同的数的和,并且保证至少三个数 ...
- Codeforces Round #660 (Div. 2) Captain Flint and Treasure 拓扑排序(按照出度、入读两边拓扑排序)
题目链接:Captain Flint and Treasure 题意: 一种操作为 选一个下标 使得ans+=a[i] 且 把a[b[i]]+a[i] 要求每个下标都进行一种这样的操作,问怎么样的 ...
- Codeforces Round #660 (Div. 2) Uncle Bogdan and Country Happiness dfs
题目链接:Uncle Bogdan and Country Happiness 题意: t组输入,每组数据输入如下 首先一个n代表有n个城市,所有城市总人数为m,后面输入pi表示第i个城市的居住人数, ...
- Codeforces Round #660 (Div. 2) C. Uncle Bogdan and Country Happiness (DFS)
题意:有\(n\)个人,每个人居住在某个节点,所有人都在节点\(1\)上班,下班后沿着最短路径回家,在回家途中心情可能会变差(心情只会变差不会变好),每个节点都有一个开心值,开心值等于所有经过时的好心 ...
- Codeforces Round #271 (Div. 2)题解【ABCDEF】
Codeforces Round #271 (Div. 2) A - Keyboard 题意 给你一个字符串,问你这个字符串在键盘的位置往左边挪一位,或者往右边挪一位字符,这个字符串是什么样子 题解 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
随机推荐
- 直播预告:Quadro RTX显卡助力Twinmotion在建筑表现领域火力全开
新年伊始,泛CG继续起航! 2021年首期泛CG分享会 我们邀请了两位业界大咖一起分享 NVIDIA GPU实时渲染在建筑可视化领域的应用 新的一年,继续相约! 1.嘉宾介绍 魏老师从事设计可视化工作 ...
- 【SpringBoot1.x】SpringBoot1.x Web 开发
SpringBoot1.x Web 开发 文章源码 简介 SpringBoot 非常适合 Web 应用程序开发.可以使用嵌入式 Tomcat,Jetty 或 Undertow 轻松创建独立的 HTTP ...
- LeetCode108 将有序数组转为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,-3,0, ...
- qmake奇淫技巧之字符串宏定义
阅读本文大概需要3.3分钟 我们平时在软件开发过程中需要定义一些宏,以便在代码中调用,这样每次不需要修改代码,只需要修改外部编译命令就可以得到想要的参数,非常方便 比如我们想在软件介绍中显示软件版本, ...
- vagrant up报错【io.rb:32:in `encode': "\x95" followed by "\"" on GBK (Encoding::InvalidByteSequenceError)】
vagrant up报错[io.rb:32:in `encode': "\x95" followed by """ on GBK (Encoding: ...
- SAP FTP FOR ABAP programing
近来忙的不可开交,忙的一塌糊涂,呵呵,今天怀揣愧疚之心,上来分享博文一篇,算是对自己的一点安慰. 首先在SAP系统中提供了很多的FTP示例程序,如下: RSFTP001 SAPFT ...
- 入门OJ:八中生成树2
题目描述 八中里面有N个建设物,M条边.对于这种要建最小生成树的问题,你应该很熟练了.现在老大决定降低某条边的费用,然后这条边必须要被选中,因为这条路他每天都要走,自然......问选了这条边后是否可 ...
- VBA调用数独求解器
我开发了一个用于求解数独的dll文件,只需要双击一下注册表文件,就可以在VBA中调用这个功能了.具体步骤如下: 下载:https://share.weiyun.com/5dpcNqx 找到ExcelS ...
- drf认证、节流、权限、版本
Django rest framework 认证: 作用:验证用户是否登录 在视图类中写上authentication_classes = [ ],这是一个列表 需要实现 authenticate() ...
- IE浏览器的卸载操作
1.首先进入打开这个 C:\Windows\TEMP\ 文件夹,将里面的所有文件都清空了. 2.依次点击"开始"-"所有程序"-"附件",右 ...