![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
嘴角上扬*
渴求力量的家伙毫无疑问地都在追求着战斗!-更木剑八
展开
-
十进制转十六进制(蓝桥杯)
解题思路说下几个坑吧:1、不可以直接用scanf格式化读入,可以拿部分分,但是如果读入30,格式化输出的是1e 而不是1E,结果区分大小写。2、如果读入的是0,可以直接输出0,就不会进入while循环转换成16进制了,如果不特判,就会有可能输出空字符。Ac代码#include<cstdio>#include<iostream>using namespace std;int main(){ long long n; cin >> n; strin原创 2022-03-27 20:45:18 · 280 阅读 · 0 评论 -
十六进制转十进制(蓝桥杯)
思路十六进制的数最多不会超过8位,则最大的数不会超过16的8次方,也就是2的32次方,恰巧处在int的边界范围,所以直接开long long 用C语言中的读入 读出函数就可以直接转换,当然还有当时自己受十六进制转换八进制的影响,写出了代码2AC代码#include<stdio.h>int main(){ long long x; scanf("%x",&x); printf("%lld",x); return 0; } Ac代码2#in原创 2022-03-27 19:04:23 · 1024 阅读 · 0 评论 -
十六进制转八进制(蓝桥杯)
AC代码#include<iostream>#include<algorithm>#include<cstring>using namespace std;int main(){ int n; cin >> n; string s,t; while(n--){ cin >>s; t=""; for(int i = 0; i < s.length(); i++) { switch (s[i])原创 2022-03-27 18:25:30 · 370 阅读 · 0 评论 -
Acwing 红与黑 献给阿尔吉侬的花束(bfs与dfs新技巧)
思路首先将图中所有的点,都声明为题目的“不可到底”的点,这样在bfs或者dfs判断条件时候,判断走过的点,越界和不可走的点三者就可以合为一个条件,极大了减少了判断的复杂性Acwing 1113.红与黑//bfs#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#include<queue>using namespace std;typ原创 2022-03-16 23:27:24 · 494 阅读 · 0 评论 -
1223.最大比例(蓝桥杯)
代码#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long ll; const int N = 110;ll a[N], fz[N],fm[N];ll gcd(ll x, ll y){ return y ? gcd(y, x % y) : x;}//这里之所以弃用辗转相除法的原因,是因为虽然更相减损术效率原创 2022-02-12 20:26:43 · 417 阅读 · 0 评论 -
拉马车-蓝桥杯
#include<iostream>#include<algorithm>#include<queue>#include<stack>using namespace std;queue<char>q1 , q2;int vis[20];stack<char>s;int check(char x)//因为记录数组要用数字,所以要将char类型转化为int类型{ if(x >= '0' &&原创 2022-01-23 21:42:03 · 146 阅读 · 0 评论 -
带分数-蓝桥杯
#include<iostream>#include<algorithm>using namespace std;int a[10],visited[10];int n,ans,ii,jj;int first()//整数{ int tp=0; for(int i=1;i<=ii;i++) { tp=tp*10+a[i]; } return tp;}//返回double的原因是为了避免分子/分母不整除原创 2022-01-23 19:40:11 · 338 阅读 · 2 评论 -
兔子的逆序对
兔子的逆序对(归并排序做法)序言自己学习笔记记录,同时欢迎大家交流题目描述兔子最近喜欢上了逆序对。一个逆序对(i,j) 需要满足 i < j 且 ai > aj兔子觉得只是求一个序列的逆序对个数太没有意思了。于是兔子想到了一个更有趣的问题!兔子可以把区间[L,R] 反转,例如序列{1,2,3,4} 反转区间[1,3] 后是{3,2,1,4}。兔子有m次反转操作,现在兔子想知道每次反转后逆序对个数是奇数还是偶数,兔子喜欢偶数,而讨厌奇数。请注意,每一次反转操作都会对原序列进行原创 2021-03-19 17:19:40 · 291 阅读 · 0 评论 -
x的x次幂(蓝桥杯)
题目描述x的x次方等于10,求x,保留6位小数,四舍五入思路二分暴力代码(浮点数二分)#include<iostream>#include<cmath>#include<algorithm>using namespace std; int main(){ double x=2.0; double l=x+0.00000001,r=3.0; while(l+0.00000001<r) { double mid=(l+r)/2;原创 2021-04-15 00:16:03 · 604 阅读 · 0 评论 -
字符串(蓝桥杯模拟赛)
题目描述又是努力刷题的一天。众所周知wyk是国一大佬喜欢帮群友解答问题。现在xmy好奇群里的聊天记录有多少条是@wyk的,但是他在忙着摸鱼。所以找到了你,给了你N条聊天记录,让你帮他算一下。注意:保证聊天记录的字母都是在ASSIC内。聊天记录存在空格,也可能以空格开头或结尾。@wyk必须连续才能生效,一条聊天记录保证在一行。思路:通过getline(cin,ss(string声明))读入字符串,挨个遍历,在这要注意两点,一个是前面无论是cin还是scanf读入,都要在后面加一个getchar()原创 2021-04-12 21:10:55 · 118 阅读 · 0 评论 -
分解质因数(蓝桥杯)
题目描述求出区间[a,b]中所有整数的质因数分解。提示先筛出所有素数,然后再分解。样例输入输入两个整数a,b。2< =a< =b< =10000样例输出每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…,k也是从小到大的)(具体可看样例)输入格式3 10输出格式3=34=225=56=237=78=2229=3310=25思路筛选出全部代码,确定谁是素数,谁是合数,然后再进行分解代码#include<i原创 2021-04-08 20:51:43 · 169 阅读 · 0 评论 -
错误票据(蓝桥杯)
题目描述输入格式输出格式样例输入样例输出思路代码#include<iostream>#include<cstdio>#include<string>#include<algorithm>using namespace std; int b[100010];int n;int d,c;int main(){ cin>>n; int tp; int maxx=-1,minn=0x3f3f3f; wh原创 2021-04-07 16:23:55 · 83 阅读 · 0 评论 -
分糖果(蓝桥杯)
题目描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式程序首先读入一个整数N(2< N< 100),表示小朋友的人数。接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2) ##### 输出格式输出格式原创 2021-04-02 23:34:30 · 139 阅读 · 0 评论 -
IP判断(蓝桥杯)
题目描述在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性。合法的IP是这样的形式:A.B.C.D其中A、B、C、D均为位于[0, 255]中的整数。为了简单起见,我们规定这四个整数中不允许有前导零存在,如001这种情况。现在,请你来完成这个判断程序吧_输入格式输入由多行组成,每行是一个字符串,输入由“End of file”结束。字符串长度最大为30,且不含空格和不可见字符输出格式对于每一个输入,单独输出一行如果该字符串是合法的IP,输出Y,否则,输出N样例输入原创 2021-04-02 17:20:01 · 582 阅读 · 0 评论 -
DNA(蓝桥杯)
题目描述小强从小就喜欢生命科学,他总是好奇花草鸟兽从哪里来的。终于, 小强上中学了,接触到了神圣的名词–DNA.它有一个双螺旋的结构。这让一根筋的小强抓破头皮,“要是能画出来就好了” 小强喊道。现在就请你帮助他吧样例输入输入包含多组测试数据。第一个整数N(N<=15),N表示组数,每组数据包含两个整数a,b。a表示一个单位的DNA串的行数,a为奇数且 3<=a<=39。b表示重复度(1<=b<=20)。样例输入输出DNA的形状,每组输出间有一空行。思路分析找寻规律原创 2021-03-30 16:39:55 · 191 阅读 · 0 评论 -
The 3n + 1 problem
题目描述Consider the following algorithm to generate a sequence of numbers. Start with an integer n. If n is even, divide by 2. If n is odd, multiply by 3 and add 1. Repeat this process with the new value of n, terminating when n = 1. For example, the followi原创 2021-03-30 15:38:28 · 95 阅读 · 0 评论 -
分苹果(蓝桥杯)
题目描述小朋友排成一排,老师给他们分苹果。小朋友从左到右标号1…N。有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li+1个小朋友每人发Ci个苹果。最后老师想知道每个小朋友有多少苹果。数据规模和约定100%的数据,N、M≤100 000,1≤Li≤Ri≤N,0≤Ci≤100。输入格式第一行两个整数N、M,表示小朋友个数和老师个数。接下来M行,每行三个整数Li、Ri、Ci,意义如题目表述。输出格式一行N个数,第i个数表示第i个小朋友手上的水果。样例输入5 31 2 1转载 2021-03-28 20:49:03 · 395 阅读 · 0 评论 -
陶陶摘苹果2(蓝桥杯)+整数二分法和暴力法
题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知n个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度。假设她碰到苹果,苹果就会掉下来。请帮陶陶算一下,经过她的洗劫后,苹果树上还有几个苹果。输入格式输入包括两行数据。第一行只包括两个正整数n(5< =n< =200)和m(60< =m< =200),表示苹果数目和桃桃伸手可 达原创 2021-03-28 20:01:14 · 337 阅读 · 0 评论 -
素因子数去重(蓝桥杯算法训练)
题目描述给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式一个整数,表示nn<=10^12输出格式输出一行,包含一个整数p。样例输入1000样例输出10思路:每查找到一个可被整除的素因数(可以认为从i=2开始遍历,第一个碰到的可以被n整除的因数,一定是素数),先检查是否是相同的素数,不是则计入结果,并且标记这个数,判断是否会再出现相同举个栗子:输入72 首先被2整除,计入结果,72变为36,36又被2整除变为18,但2已经计入原创 2021-03-28 19:24:33 · 138 阅读 · 0 评论 -
幸运的“3号”小朋友(约瑟夫环算法)-C++/C通用版本(指针)
题目描述一群小朋友围成一圈,每个小朋友的编号按顺时针为1,2,3,,,,n,从1号小朋友开始报数,报数从1开始,报数方向为顺时针,每次报到3的小朋友可以去享用老师准备的零食了,当然他也不用参与报数游戏了,接着由下一位小朋友重新从1开始报数,按照这样的规则重复进行,最终会剩下一位小朋友,这位小朋友可以得到老师布置的假期福利作业回家享用。那么这位得到作业的小朋友的编号是多少呢??输入格式注意:多组输入每组第一行是一个正整数n,表示小朋友的人数1<=n<=100输出格式每组各占一原创 2021-03-28 10:13:26 · 1365 阅读 · 0 评论 -
洛谷OJ - P1182 - 数列分段Section II(二分模板)(多组输入版本)
题目描述有一个长度为n的数列num,要求将数列分为m段,每段必须连续,我们把每段的和称为“段和”,那么如何分段才能使最大的 “段和” 最小,求出这个最小值输入格式注意:多组输入每组第一行两个正整数n和m第二行n个正整数,每个正整数( num[i] )之间空格分隔 (如样例所示)1<=m<=n<=1000001<=num[i]<=10000输出格式每组输出一个正整数,即最小 “段和”,每组各占一行输出样例输入5 34 2 4 5 1样例输出6思路原创 2021-03-28 01:02:18 · 184 阅读 · 0 评论 -
三连击升级版本(蓝桥杯)
题目描述将 1, 2,\ldots, 91,2,…,9 共 99 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:CA:B:C,试求出所有满足条件的三个三位数,若无解,输出 ”No!!!“”。输入描述三个数,A,B,CA,B,C。(保证 A<B<C)输出描述若干行,每行 3 个数字。按照每行第一个数字升序排列。样例输入1 2 3样例输出192 384 576219 438 657273 546 819327 654 981代码#include&l转载 2021-03-25 19:12:55 · 172 阅读 · 0 评论 -
P1125 [NOIP2008 提高组] 笨小猴
题目描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入描述一个单词,其中只可能出现小写字母,并且长度小于100100。输出描述共两行,第一行是一个字符串,假设输入的的单词是Luc原创 2021-03-25 18:35:34 · 696 阅读 · 0 评论 -
集合运算(蓝桥杯)
题目描述给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入描述第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。 集合中的所有元素均为int范围内的整数,n、m<=1000。输出描述第一行按从小到大的顺序输出A、B交集中的所有元素。第二行按从小到大的顺序输出A、B并集中的所有元素。第三行按从小原创 2021-03-23 22:19:32 · 737 阅读 · 0 评论 -
字符串的输入输出处理(蓝桥杯)
题目描述字符串的输入输出处理。输入描述第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。输出描述先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。样例输入2www.dotcpp.com DOTCPPA C MD O T CPP样例输出www.dotcpp.com DOTCPPA C MDOTCPP思路分析1.首先前N行原创 2021-03-23 12:11:38 · 725 阅读 · 4 评论 -
字符串逆序(蓝桥杯)
题目描述将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。输入描述输入包括一行。 第一行输入的字符串。输出描述输出转换好的逆序字符串。样例输入I am a student样例输出tneduts a ma I思路分析1.输入描述中式一行字符串,而且样例输入表示也用空格,所以此处用scanf或者cin输入就有诸多不变,而用getline输入一行便十分方便。2.主要运用知识点:getline输入,sring容器自带的size函数,字符串和字符数组的转换3.此题目中原创 2021-03-23 11:48:34 · 281 阅读 · 0 评论 -
筛法求N之内的素数和求最大公约数
题目描述用筛法求之N内的素数。输入N输出0~N的素数样例输入100样例输出2357111317192329313741434753596167717379838997代码#include<iostream>using namespace std;int main(){ int n; cin>>n; int a[n+1]; for(int i=1;i<=n;i++) a[i]=i;//存原创 2021-03-23 11:28:14 · 254 阅读 · 0 评论 -
阶乘计算
题目描述输入一个正整数n,输出n!的值。 其中n!=123*…*n。算法描述n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输入格式输入包含一个正整数n,n<=1000。输出格式输出n!的准确值。样例输入10样例输出362转载 2021-03-22 21:16:32 · 73 阅读 · 0 评论 -
背单词太难了
题目某人又开始了ta的背单词大记,ta打算第一天背一个单词,之后每天比前一天多背一个单词,但是某人显然高估了ta的脑子,实际ta一天只能记住k%i个单词,i为该天计划要背的单词数,那么某人经过n天后能记住多少个单词?输入描述输入只有一行两个整数,分别表示n和k。1≤n,k≤10^9输出描述输出一行一个整数表示答案。样例输入10 5样例输出29代码#include<iostream>using namespace std;int main(){ int n,k;原创 2021-03-22 15:28:43 · 72 阅读 · 0 评论 -
矩形面积交
题目 求两矩形面积交题目描述在平面直角坐标系中有两个矩形,给你两个矩形的对角坐标,请计算两矩形的面积之交。输入描述输入第1行是一个整数T,代表测试样例组数。后面有T行,每行有4对共8个实数,前4个数代表第一个矩形的对角两横纵坐标,后4个数代表第二个矩形的对角两横纵坐标。输出描述输出对于每组输入,输出一个实数,表示两矩形的面积交。样例输入11 1 3 3 2 2 4 4样例输出1.00分析1. 没说明是否是左上角和右下角坐标还是右上角和左下角的坐标2. 所以我们可以通过对同转载 2021-03-22 14:56:28 · 194 阅读 · 0 评论 -
字符串对比
题目描述给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing 4:两个字符串长度相等,但是即使是不区分大小写也不能转载 2021-03-21 23:08:38 · 276 阅读 · 0 评论 -
回文数字
问题描述观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求:该数字的各个数位之和等于输入的整数。输入格式一个正整数 n (10<n<100), 表示要求满足的数位和。输出格式若干行,每行包含一个满足要求的5位或6位整数。数字按从小到大的顺序排列。如果没有满足条件的,输出:-1样例输入44样例输出99899499994589985598895转载 2021-03-21 22:42:54 · 261 阅读 · 0 评论 -
蛇形矩阵
解释:蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211代码#include<iostream>#include<algorithm>using namespace std;int main(){ int a[100][100]; int n; cin>>n; int i=0, j=0; int m=1; for(int k=0;k<n原创 2021-03-21 20:51:19 · 796 阅读 · 0 评论