![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2013第四届省赛C++组
2013第四届蓝桥杯省赛C++组
jianjianjianjian01
这个作者很懒,什么都没留下…
展开
-
2013第四届蓝桥杯省赛C++B组【第六题:三部排序】
三部排序原创 2020-12-03 23:34:18 · 105 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++B组【第七题:错误票据】
第七题标题: 错误票据题目描述:某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数。接着读入N行数据。每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100原创 2020-12-03 23:33:57 · 181 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++B组【第八题:翻硬币】
第八题标题:翻硬币题目描述:小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:程序输入:两行等长的字符串,分别表示初始状态和要达到的目标状态。每行原创 2020-12-03 23:33:37 · 418 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++B组【第九题:带分数】
带分数原创 2020-12-03 23:33:06 · 145 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++B组【第十题:连号区间数 】
第十题标题:连号区间数题目描述:小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式:第一行是一个正整数N (1 <= N <= 50000), 表示全排列的规模。第原创 2020-12-03 23:32:26 · 117 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++B组【第一题: 高斯日记】
第一题标题:高斯日记题目描述:大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113请你算出高斯获得博士原创 2020-11-10 15:09:17 · 752 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第十题:剪格子】
第十题标题:剪格子题目描述:如图所示,3 x 3 的格子中填写了一些整数我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0程序输入输出格式要求:程序先读入两个整数 m n 用空格分割 (m,n<10)表示表格的宽度和高度接下来是n行,每行m个正整数,用空格原创 2020-11-10 13:43:20 · 231 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第九题:带分数】
第九题标题:带分数题目描述:100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!样例输入1:100样例输出1:1原创 2020-11-10 13:39:01 · 461 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第八题:打印十字图】
第八题标题:打印十字图题目描述:小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。输入格式:一个正整数 n (n<30) 表示要求打印图形的层数输出格式:对应包围层数的该标志。样例输入1:1样例输出1:..$$$$$....$...$..$$$.$.$$$$...$...$$.$$$$$.$$...$...$$$原创 2020-11-10 13:35:03 · 251 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第七题:核桃的数量】
第七题标题:核桃的数量题目描述:小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)程序从标准输入读入:a b ca,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)程序输出:一个正整数,表示每袋核桃的数量。样例输入1:2 4 5样例输出原创 2020-11-10 13:30:17 · 385 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第六题:三部排序】
第三题标题:三部排序题目描述:一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。其中x指向待排序的整型数组,len是数组的长度。void sort3p(int* x, int len原创 2020-11-10 13:25:48 · 624 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第五题:公约数公倍数】
第五题标题:公约数公倍数题目描述:我们经常会用到求两个整数的最大公约数和最小公倍数的功能。下面的程序给出了一种算法。函数 myfunc 接受两个正整数a,b经过运算后打印出 它们的最大公约数和最小公倍数。此时,调用 myfunc(15,20)将会输出:560// 交换数值void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}void myfunc(int a, int b){原创 2020-11-10 13:22:25 · 115 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第四题:幻方填空】
第四题标题:幻方填空题目描述:幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。他把1,2,3,…16 这16个数字填写在4 x 4的方格中。如图所示,即:16 ? ? 13? ? 11 ?9 ? ? *? 15 ? 1表中有些数字已经显露出来,还有些用?和*代替。请你计算出? 和 * 所代表的数字。并把 * 所代表的数字作为本题答案提交。答案是一个整数,请通过浏览器直接提交该数字。原创 2020-11-10 13:18:43 · 714 阅读 · 1 评论 -
2013第四届蓝桥杯省赛C++C组【第三题:振兴中华】
第三题标题:振兴中华题目描述小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:从我做起振我做起振兴做起振兴中起振兴中华比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?答案是一个整数,请通过浏览器直接提交该数字。注意:不要提交解答过程,或其它辅助说明原创 2020-11-10 13:13:05 · 176 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++C组【第二题:马虎的算式】
第二题标题:马虎的算式题目描述:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如:ab * cde = adb * ce这原创 2020-11-10 13:09:57 · 102 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第十题:大臣的旅费】
第十题标题:大臣的旅费题目描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。他有一个钱袋,用于存放往来城市间的路费。聪明的J发现,如果不在某个城市停下原创 2020-11-07 09:47:01 · 222 阅读 · 0 评论 -
2013第四届天梯赛省赛C++C组【第一题:猜年龄】
第一题标题:猜年龄题目描述:美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”请你推算一下,他当时到底有多年轻。解题思路:根据题意选取可能的年龄范围(可选取[10, 100]),使用一层循环一次枚举,找到符合要求的解即可。注意对数位的分原创 2020-11-07 09:45:32 · 144 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第九题:剪格子】
第九题标题:剪格子题目描述:如图p1.jpg所示,3 x 3 的格子中填写了一些整数。我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0程序输入输出格式要求:程序先读入两个整数 m n 用空格分割 (m,n<10)表示表格的宽度和高度接下来是n行,每行m个正原创 2020-11-07 09:47:37 · 429 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第八题:买不到的数目】
第八题标题:买不到的数目题目描述:小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入两个正整数,表示每种包装中糖的颗数(都不多于1000)要求输出一个正整数,表示最大不能买到的糖原创 2020-11-06 22:00:24 · 150 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第七题:错误票据】
第五题标题:错误票据题目描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数。接着读入N行数据。每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于10000原创 2020-11-06 21:54:09 · 125 阅读 · 0 评论 -
2013第四届蓝桥杯C++A组【第六题:逆波兰表达式】
第六题标题: 逆波兰表达式题目描述:正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。例如:3 + 5 * (2 + 6) - 1而且,常常需要用括号来改变运算次序。相反,如果使用逆波兰表达式(前缀表达式)表示,上面的算式则表示为:-+ 3 * 5 + 2 6 1不再需要括号,机器可以用递归的方法很方便地求解。为了简便,我们假设:只有 + - *三种运算符每个运算数都是一个小于10的非负整数下面的程序对一个逆波兰表示串进行求值。其返回值为一个结构:其中第原创 2020-11-06 21:41:54 · 126 阅读 · 0 评论 -
2013第四届蓝桥杯C++A组【第五题:前缀判断】
第五题标题:前缀判断题目描述如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234" 就包含了 "abc" 为前缀char* prefix(char* haystack_start, char* needle_start){char* haystack = haystack_start;char* needle = needle_start;while(*haystack && *原创 2020-11-06 21:38:14 · 178 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第四题:颠倒的价牌】
第四题标题:颠倒的价牌题目描述:小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。其标价都是4位数字(即千元不等)。小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 68 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!当然,多数情况不能倒读,比如,1110 就不能倒过来,因为0不能作为开始数字。有一天,原创 2020-11-06 21:32:59 · 182 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第三题:振兴中华】
第三题标题:振兴中华小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:从我做起振我做起振兴做起振兴中起振兴中华比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?答案是一个整数,请通过浏览器直接提交该数字。注意:不要提交解答过程,或其它辅助说明类的内容原创 2020-11-06 21:28:51 · 163 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第二题:排它平方数】
第二题标题: 排它平方数小明正看着 203879 这个数字发呆。 原来,203879 * 203879 = 41566646641这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:6位正整数每个数位上的数字不同其平方数的每个数位不含原数字的任何组成数位答案是一个6位的正整数。请通过浏览器提交答案。注意:只提交另一6位数,题中已经给出的这个不要原创 2020-11-06 21:24:43 · 139 阅读 · 0 评论 -
2013第四届蓝桥杯省赛C++A组【第一题:高斯日记】
第一题标题:高斯日记题目描述:大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113。请你算出高斯获得博士学位原创 2020-11-06 21:20:17 · 124 阅读 · 0 评论