- 博客(27)
- 收藏
- 关注
原创 蓝桥杯 高精度加法 c++实现
蓝桥杯 高精度加法问题描述在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263。要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算。现在输入两个整数,请输出它们的和。输入两行,每行一个整数,每个整数不超过1000位输出一行,两个整数的和。输入样例15464315464465465482321654151输出样例1546479778
2022-04-03 21:20:09 341
原创 算法训练 笨笨的机器人(20分)c++实现
笨笨的机器人(20分)问题描述一个机器人位于一个 m x n 网格的左上角 。机器人每次只能向下或者向右(果然很笨)移动一步。机器人试图达到网格的右下角 。现在考虑网格中有障碍物。那么笨笨的机器人有几种走法呢网格中的障碍物和空位置分别用 1 和 0 来表示。输入第一行为两个整数m,n接下来输入m行数 每行n个数 表示网格输出路径条数输入样例(1)3 30 0 00 1 00 0 0(2)2 20 10 0输出样例(1)2(2)
2022-04-03 21:17:45 633
原创 算法训练 盛最多水的容器(10分) c++实现
盛最多水的容器(10分)问题描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器输入第一行 为容器个数n第二行 n个数输出最大容量输入样例(1)91 8 6 2 5 4 8 3 7(2)21 1输出样例(1)49(2)1#in
2022-04-03 21:14:14 847
原创 蓝桥杯 BASIC-04 Fibonacci数列 c++实现
BASIC-04 Fibonacci数列问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。样例输入
2022-03-28 22:48:46 611
原创 蓝桥杯 BASIC-3 字母图形 c++实现
BASIC-3 字母图形问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC数据规模与约定1 <= n
2022-03-28 22:46:07 880
原创 算法训练 坐标检测(25 pts)c++实现
坐标检测(25 pts)问题描述判断一个点是否在三角形内。输入输出对于每一个询问的点,如果在三角形内输出一行Yes,不在三角形内输出一行No,共 qq 行。输入样例0.0 0.01.0 0.00.0 1.0100.2 0.21.0 1.00.65 0.351.0 0.00.64 0.350.64 0.360.63 0.370.62 0.380.61 0.390.60 0.40输出样例YesNoNoNoYesNoN
2022-03-28 22:41:21 956
原创 算法训练 转义转义再转义(20 pts)c++实现
转义转义再转义(20 pts)问题描述我们知道有一些字符很特殊,它们用来表示其他意思,而想要表达它们自己就要额外的标记。比如,在正则表达式中,如果我们想要匹配字符串$,就需要写成$,而把这个正则表达式写入程序代码中,还要变成\$。与之类似,如果要用正则表达式搜索"“这个字符串(包括引号),则要写成”\",再转为程序代码的字符串就要变为"\\"。请你写一个转换程序,将指定的字符串转义为正则表达式,再转义为程序代码的字符串。输入一行字符串,包含可打印的 ASCII 字符。输出
2022-03-28 22:25:27 1727
原创 算法训练 Cantor 表(15 pts)c++实现
Cantor 表(15 pts)问题描述现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:输入两个分数,算出这两个分数的积(需要约分),输出积在原表的第几列第几行,若积是整数或 1/积,则以“积/1”或“1/积”结算。输入共两行。每行输入一个分数(不一定是最简分数)。输出两个整数,表示输入的两个分数的积在表中的第几列第几行,注意约分。输入样例4/55/4输出样例1 1两个分数的分母
2022-03-28 22:21:52 1277
原创 蓝桥杯 BASIC-6 杨辉三角形 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
2022-03-25 21:08:18 1662
原创 蓝桥杯 BASIC-9 特殊回文数 c++实现
BASIC-9 特殊回文数问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入输入一行,包含一个正整数n。输出按从小到大的顺序输出满足条件的整数,每个整数占一行。输入样例52输出样例899998989989998899数据规模和约定 1<=n<=54。#include<iostream>#include
2022-03-25 21:05:16 385
原创 蓝桥杯 基础练习 十六进制转十进制 c++实现
蓝桥杯 十六进制转十进制问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。输入样例FFFF输出样例65535#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; long long sum = 0; map<char,int&
2022-03-25 17:02:01 790
原创 蓝桥杯 P1003 c++实现
P1003(蓝桥杯)问题描述作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词。不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检查。请编写一个程序,发现这种调整过顺序的关键词。程序的输入有两行,第一行是关键词列表,第二行是待检查的句子。程序的输出为在该句子中所找到的经过顺序调整的关键词。(单词全部为小写,单词之间以一个空格分隔,每一行的单词个数不限)输入第一行是关键词列表,第二行是待检查的句子。输出经过顺序调整的关键词。(单词全部为小写,单词
2022-03-23 23:28:48 849
原创 蓝桥杯BASIC-12 十六进制转八进制 c++实现
BASIC-12 十六进制转八进制问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入输入的第一行为一个正整数n (1<=n<=10)。接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出输出n行,每行为输入对应的八进制正整数。【注意】输入的十六进制数不会有前导0,比如012A。输出的八进制数也不能有前导0。输入样例239123ABC输出样例71
2022-03-23 12:53:23 880
原创 算法训练 字符串展开(25分) c++实现
字符串展开(25分)问题描述如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下:(1) 遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严格大于左边的字符。(2) 参数p1:展开方式。p
2022-03-20 22:59:33 758 1
原创 算法训练 子网掩码(25分)c++实现
子网掩码(25分)问题描述子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。请看以下示例:运算演示之一:IP地址 192.168.0.1子网掩码 255.255.255.0转化为二进制进行运算:IP地址 11000000.10101000.00000000.00000001子网掩码 111
2022-03-20 22:54:55 2225
原创 算法训练 毕业啦(20分)c++实现
毕业啦(20分)问题描述小刘同学即将毕业,他准备打包自己的行李,每一次打包,他都可以把两件行李打包成一件,消耗的体力是两件行李重量之和,经过n-1次打包,行李就变成一件了。小刘在打包行李时总共消耗的体力是每次打包所耗体力之和。输入每组数据输入包括两行,第一行是一个整数 n(1<=n<=10000),表示行李的个数,如果 n 等于 0 表示输入结束,且不用处理。第二行包含 n 个整数,用空格分隔,第 i 个整数(1<=ai<=1000)是第 i 件行李的数目。
2022-03-20 22:47:22 638
原创 算法训练 字符串的处理 (20分) c++实现
字符串的处理 (20分)问题描述对于一个字符串,我们对其的后缀子串进行排序,例如banana其子串有:bananaananananaananaa然后对各子串按字典顺序排序,即:a ana anana banana na nana输入每个案例为若干行字符串。输出将子串排序输出输入样例grainbanana输出样例将子串排序输出问题分析字符串需要进行从后往前的分解为子串,或者从前往后获取,由于每次需要排序 于是可以用map 可以
2022-03-20 22:36:59 1126
原创 蓝桥杯 插入排序 c++实现
蓝桥杯 插入排序问题描述插入排序,顾名思义,是将若干个元素按其大小关系排出一个顺序。形式化描述如下:有n个元素a[1],a[2],…,a[n],从小到大排序就是将它们排成一个新顺序a[i[1]]<a[i[2]]<…<a[i[n]]i[k]为这个新顺序。插入排序,顾名思义,是通过插入操作完成排序。其直觉和方法来源于打牌时安排牌的方法。每次摸起一张牌,你都会将其插入到现在手牌中它按顺序应在的那个位置。插入排序每一步都类似这个摸牌过程。比如现在有整数数组:{3, 1, 5, 4,
2022-03-19 23:09:07 325
原创 蓝桥杯 色盲的民主 c++实现
蓝桥杯 色盲的民主问题描述n个色盲聚在一起,讨论一块布的颜色。尽管都是色盲,却盲得各不相同。每个人都有自己的主张,争论不休。最终,他们决定采取民主投票的方式决定布的颜色,不管布同不同意。某种颜色用字符串表示(字符串为颜色单词或词组,也就是可能有被空格隔开的两个单词组成的颜色词组),只要字符串不同,程序即判断颜色不同。现在给出这n个人所选择的颜色,输出最有可能的颜色(也就是获得投票最多的颜色),如果有多个颜色获得了最多的投票,则将它们按字典序分行全部输出。输入第一行一个正整数n,表示色盲
2022-03-19 23:02:28 278
原创 蓝桥杯 选择排序 c++实现
蓝桥杯 选择排序问题描述选择排序,顾名思义,是将若干个元素按其大小关系排出一个顺序。形式化描述如下:有n个元素a[1],a[2],…,a[n],从小到大排序就是将它们排成一个新顺序a[i[1]]<a[i[2]]<…<a[i[n]]i[k]为这个新顺序。选择排序的思想极其简单,每一步都把一个最小元素放到前面,如果有多个相等的最小元素,选择排位较考前的放到当前头部。还是那个例子:{3 1 5 4 2}:第一步将1放到开头(第一个位置),也就是交换3和1,即swap(a[0],a
2022-03-19 22:57:43 236
原创 身份证排序 (蓝桥杯) c++实现
身份证排序 (蓝桥杯)问题描述安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序。身份证号码为18位的数字组成,出生日期为第7到第14位输入第一行一个整数n,表示有n个身份证号码余下的n行,每行一个身份证号码。输出按出生日期从大到小排序后的身份证号,每行一条输入样例5466272307503271156215856472207097978234804580401078365404475
2022-03-15 23:16:22 1135
原创 班级排名(蓝桥杯) c++实现
班级排名(蓝桥杯)问题描述达达在陶陶的影响下,也对学习慢慢的产生了兴趣。他在每次考试之后,都会追着老师问,自己在班级的总名次是多少。考试一多,老师也不耐烦了,于是他给了达达所有人的成绩,让他自己去算出自己的排名。可人太多了,达达也无法立即算出来,于是他想让你帮帮他。输入第一行为一个整数N,代表班级的学生总数。接下来N行,每行一个字符串,代表一个学生的姓名,第一行总是DaDa。接下来一行一个整数M,代表一共有M次考试。每次考试有N行,每行有以一个空格分隔的一个正整数S和一个字符
2022-03-15 23:10:01 596
原创 哥尼斯堡的“七桥问题” (25分) c++实现
哥尼斯堡的“七桥问题” (25分)问题描述哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?输入输入第一行给出两个正整数,分别是节点数N(
2022-03-13 20:53:54 1030
原创 打印学生选课清单(25分) c++实现
打印学生选课清单(25分)问题描述假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。输入输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数;K(≤2500),为总课程数。此后顺序给出课程1到K的选课学生名单。格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数(之间用空格分隔),之后在第二行给出学生名单,相邻两个学生名字用1个空格分隔。学生姓名由3个大写英文字母+
2022-03-13 20:43:58 656
原创 电话聊天狂人(25分) c++实现
电话聊天狂人(25分)问题描述给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。样例输入413005711862 13588625832135
2022-03-13 20:33:26 239
原创 1009 说反话 (20分) c++
1009 说反话 (20分) c++问题描述给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例Hello World Here I Come输出样例Come I Here World Hel
2022-03-13 20:26:12 259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人