蓝桥杯
浅浅ch
这个作者很懒,什么都没留下…
展开
-
ALGO-84 大小写转换(字符)
问题描述 编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出。输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格。输出格式:输出经过转换后的字符串。样例输入AeDb样例输出aEdB代码如下:#include<bits/stdc++.h> //万能的头文件 #include<iostream>using nam原创 2020-09-24 21:12:38 · 149 阅读 · 0 评论 -
高精度乘法
主要思路:模拟竖式:1.先累加乘积2.后进位存余如图:分别用数组下标表示后,易发现一个规律:注意:要保证和为i+j的所有a、b数组都要遍历到,所以要加上原来的c[i+j-1]。lenc的长度可能是lena+lenb-1,也可能是lena+lenb(有进位的情况下)。因此处理完c数组的乘积累加后,直接让lenc++,只要最终判断前导是不是为0即可。是0的话就没有进位!代码如下#include<bits/stdc++.h>using namespace std;int原创 2020-08-30 00:11:16 · 129 阅读 · 0 评论 -
高精度减法
主要思路:高精度减法也是模拟手算,只需要同位相减,在此情况下:1.如果a数组的这一位>b数组的这一位(即够减的情况下),c[i]=a[i]-b[i]2.如果不够减:向上一位借位,此位加10 //开始模拟减法并将数据存入c数组 lenc=lena; for(int p=1;p<=lenc;p++){ //同位相减,不够减时 if(a[p]<b[p]){ a[p+1]--;//向高位借1 a[p]+=10;//此时同位加10 } c[p]=a[p]原创 2020-08-29 17:57:46 · 288 阅读 · 0 评论 -
高精度加法
主要思想和方法:高精度加法直接模拟手算加法的过程,主要分为三步处理:1.同位相加+进位2.进位3.存余数将加数1、加数2、和分别用三个数组存储,每个数组元素再按照上述三步进行运算。如图:注意的点:1.输入时按照字符串输入,要将其以int型数据存入数组中,并且保证倒序存入: lena=s1.length(); lenb=s2.length(); //将上述字符串以int型数据存入数组 //因为加法是从个位算起,所以存储时到倒着存 for(int i=1;i<=lena;i+原创 2020-08-29 17:38:45 · 429 阅读 · 0 评论 -
[C++]蓝桥杯 ALGO-3 K好数
关键词: 动态规划(深层次的迭代过程)问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入4 2样例输出7数据规模与约定对于30%的数据,KL转载 2020-08-24 18:44:10 · 421 阅读 · 0 评论 -
[C++] 蓝桥杯 ALGO-1 区间k大数查询
问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于30%的数据,n,m<转载 2020-08-24 17:41:44 · 190 阅读 · 0 评论 -
[C++] 蓝桥杯 ALGO-2 最大最小公倍数
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 <= N <= 106思路数学知识:如果三个数互为质数,那么这三个数的乘积便为它们的最小公倍数。那么最优的情况肯定是 n*(n-1)*(n-2)。那么我们来分情况考虑:(1)当n为奇数的时候 eg: (7 6 5)任意两个数都互质,所以最小公倍数为 765;(2原创 2020-08-12 17:49:44 · 165 阅读 · 0 评论 -
[VIP试题] 蓝桥杯 BASIC-24 龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。 然而有些比赛相当漫长,全程观看会耗费大量时间,而原创 2020-08-04 21:26:13 · 209 阅读 · 0 评论 -
[VIP试题] 蓝桥杯 BASIC-23 芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯原创 2020-08-03 21:09:11 · 183 阅读 · 0 评论 -
[VIP试题] 蓝桥杯 BASIC-22 FJ的字符串
问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABA思路: 这道题考的是递归,发现每次的字符串都与上一个字符串有关系,是上一个字符串形成的对称字转载 2020-08-03 19:08:48 · 123 阅读 · 0 评论 -
[VIP试题] 蓝桥杯 BASIC-14 时间转换
问题描述 给定一个以秒为单位的时间t,要求用<“H:M:S”的格式来表示这个时间。H表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入格式 输入只有一行,是一个整数t(0<=t<=86399)。输出格式 输出只有一行,是以“H:M:S”的格式所表示的时间,不包括引号。样例输入0样例输出0:0:0样例输入5436样例输出1:30:36代码如下:#includ原创 2020-07-24 11:32:33 · 134 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-2 01字符串
问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>思路: 本题除了暴力破解(直接把所有可能的01字串输出)外,还有两种方法:思路一是模拟二进制的实现原创 2020-07-22 12:18:31 · 175 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-3 字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC数据规模与约定1 <原创 2020-07-21 12:57:47 · 596 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-6 杨辉三角
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输出11 11 2 11 3 3 1数据规模与约定1 <= n <原创 2020-07-21 11:54:20 · 256 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-9 特殊回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=n<=54思路分析:就在上一题求回文数的基础上判断各位上的数字和是否为n只需要修改下judge函数,在取数字时每取出一个原创 2020-07-20 14:57:39 · 336 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-8 回文数
问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。思路:为了解决此类型的题目,最好是写一个判断是否为回文数的函数,后续操作也会更简单。关于如何判断是否为回文数:将一个数中的数字一个一个取出,放入p数组在循环中:p[i++]=x%10;x/10;从头开始遍历p数组,遍历到一半的数组长度即可比较p[j]是否等于p[i-j-1]做好标记,如果2不符合,立马跳出循环,返回fa原创 2020-07-20 12:21:05 · 291 阅读 · 0 评论 -
[C++] 蓝桥杯 BASIC-13 数列排序
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9代码如下:#include<iostream>#include<algorithm>using namespace std;bool cmp(in原创 2020-07-20 11:10:24 · 165 阅读 · 0 评论 -
[C++]蓝桥杯 ADV-279.矩阵乘法
问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器。输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以一个MK的矩阵。接下来N行,每行M个整数,表示第一个矩阵。再接下来的M行,每行K个整数,表示第二个矩阵。输出格式 输出有N行,每行K个整数,表示矩阵乘法的结果。样例输入2 1 3121 2 3样例输出1 2 32 4 6数据规模和约定 0<N,M,K<=100, 0<=矩阵中的每个数原创 2020-05-12 20:43:41 · 405 阅读 · 3 评论 -
[C]蓝桥杯 BASIC-15.字符串对比
类型:判断线段交问题描述给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致...原创 2020-04-29 22:46:37 · 208 阅读 · 0 评论 -
[C++]蓝桥杯 BASIC-18.矩形面积交
[C++]蓝桥杯 BASIC-18.矩形面积交类型:判断线段交问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为...原创 2020-04-28 23:31:31 · 387 阅读 · 0 评论