
蓝桥杯
lalalalalala_
我是一名小菜鸟,欢迎大家一起来讨论。
展开
-
第九届蓝桥杯省赛C组第五题快速排序
标题:快速排序。 以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。#include <stdio.h>int quick_select(int a[], int l, int r, int k) { int p = rand() % (r - l + 1) + l; int x ...原创 2018-04-12 22:50:56 · 261 阅读 · 0 评论 -
算法训练 最小乘积(基本型)
问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式 第一个行一个数T表示数据组数。后面每组数据,先读入一个n原创 2017-05-11 18:20:08 · 540 阅读 · 0 评论 -
算法训练 最大的算式
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如: N=5,K=2,5个数字分别为1、2、3、4、5,可以加成: 1*2*(3+4+5)=24 1*(2+3)*(4+5)=45 (1*2+3)*(4+5)=4原创 2017-05-11 15:44:15 · 450 阅读 · 0 评论 -
第八届蓝桥杯模拟赛本科组算年龄
题目:英国数学家德摩根出生于19世纪初叶(即18xx年)。他年少时便很有才华。一次有人问他的年龄,他回答说:“到了x的平方那年,我刚好是x岁”。请你计算一下,德摩根到底出生在哪一年。题中的年龄指的是周岁。请填写表示他出生年份的四位数字,不要填写任何多余内容。结果:1806思路:根据(x*x-x)/100==18来算。例如1806年 ,原创 2017-04-05 19:26:02 · 274 阅读 · 0 评论 -
算法训练 前缀表达式
题目:问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。 输入格式:输入只有一行,即一个前缀表达式字符串。 输出原创 2017-04-05 11:33:54 · 336 阅读 · 0 评论 -
算法训练 Anagrams问题
题目:问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格原创 2017-04-05 11:06:50 · 614 阅读 · 0 评论 -
算法训练 出现次数最多的整数
题目: 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺原创 2017-04-04 21:33:16 · 425 阅读 · 0 评论 -
算法训练 未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和原创 2017-04-04 17:04:26 · 246 阅读 · 0 评论 -
第七届蓝桥杯省赛JavaB组第四题分小组
分小组9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DFI EGHABC DGH EFIABC DGI EFHABC DHI EFGABC EFG DHI...原创 2017-03-27 11:01:50 · 663 阅读 · 0 评论 -
第七届蓝桥杯省赛JavaB组第三题凑算式
凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性...原创 2017-03-27 10:46:34 · 433 阅读 · 0 评论 -
第七届蓝桥杯省赛JavaB组第二题生日蜡烛
生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。参考答案:26+27+28+29+30+31+32+33=236public class Main { public stat...原创 2017-03-26 22:32:19 · 464 阅读 · 0 评论 -
第七届蓝桥杯省赛JavaB组第一题煤球数目
煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。思路:题目让求的是100层一共有的煤球总数,而不是第100层的煤球总数。参考答案:171700public class M...原创 2017-03-26 22:22:05 · 455 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第八题饮料换购
饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应该输出:149用户输入...原创 2017-03-26 22:03:46 · 1016 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第七题牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。解题思路:直接用暴力搜索就行。参考答案:3598180public class Main { p...原创 2017-03-26 21:37:49 · 424 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第六题加法变乘法
加法变乘法我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。参考答案:1...原创 2017-03-26 21:13:38 · 353 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第四题循环节长度
循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。下面的方法,可以求出循环节的长度。请仔细阅读代码,并填写划线部分缺少的代码。indexOf(Object o) 返回此向量中第一次出现的指定元素的索引,如果此向量不包含该元素,则返回 -1。size()...原创 2017-03-26 20:55:08 · 2111 阅读 · 3 评论 -
第六届蓝桥杯省赛JavaB组第五题九数组分数
九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。public class A { public static void test(int[] x) { int a = x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3]; int b = x[4] * 10000 + x...原创 2017-03-26 20:40:17 · 478 阅读 · 0 评论 -
算法训练 关联矩阵
问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式 第一行两个整数n、m,表示图中结点和边的数目。n 接下来m行,每行两个整数a、b,表示图中有(a,b)边。 注意图中可能含有重边,但不会有自环。输出格式 输出该图的关联矩阵,注意请勿改变边和结点的顺序。样例输入5 91 23 11 52 5原创 2017-05-12 11:48:33 · 741 阅读 · 0 评论 -
第八届蓝桥杯省赛JavaB组第五题取数位
标题:取数位求1个整数的第k位数字有很多种方法。以下的方法就是一种。public class Main{ static int len(int x){ if(x<10) return 1; return len(x/10)+1; } // 取x的第k位数字 static int f(int x, int k){ ...原创 2017-04-22 14:48:57 · 340 阅读 · 0 评论 -
第八届蓝桥杯省赛JavaB组第二题纸牌三角形
标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。 下图就是一种排法(如有对齐问题,参看p1.png)。 A 9 6 4 8 3 7 5 2 这样的排法可能会有很多。 ...原创 2017-04-22 15:02:53 · 3438 阅读 · 5 评论 -
第七届蓝桥杯C组第四题快速排序
快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码.#include <stdio.h>void swap(int a[], int i, i...原创 2018-04-12 15:35:18 · 374 阅读 · 0 评论 -
第九届蓝桥杯C组第三题乘积尾零
题目:标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 572...原创 2018-04-02 20:20:59 · 346 阅读 · 0 评论 -
第九届蓝桥杯C组第一题第几天
题目:标题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。答案:31+29+31+30+4 = 125...原创 2018-04-02 20:04:41 · 356 阅读 · 0 评论 -
第五届蓝桥杯省赛JavaB组第三题猜字母
标题:猜字母 把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。参考答案:qpublic class Main {...原创 2017-03-21 22:09:02 · 811 阅读 · 0 评论 -
第五届蓝桥杯省赛JavaB组第六题奇怪的分式
标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)...原创 2017-05-10 14:57:07 · 1270 阅读 · 0 评论 -
第四届蓝桥杯连号区间数
标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N原创 2017-05-10 10:05:01 · 614 阅读 · 0 评论 -
算法提高 最大乘积
问题描述 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?输入格式 第一行一个数表示数据组数 每组输入数据共2行: 第1行给出总共的数字的个数n和要取的数的个数m,1 第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。输出格式 每组数据输出1行,为最大的乘积。样例输入15 5原创 2017-05-09 19:58:45 · 403 阅读 · 0 评论 -
算法提高 简单加法
问题描述 小于10的自然数中有四个数字能除尽3或5(3, 5, 6, 9),它们的和为23。 请计算所有小于1000的自然数中能除尽3或5的数字的合。然后使用标准输出cout,输出你的结果。输入格式 无。输出格式 一行一个整数,表示你的结果。代码:public class Main { public static void ma原创 2017-05-09 18:03:12 · 322 阅读 · 0 评论 -
算法提高 三个整数的排序
问题描述 输入三个数,比较其大小,并从大到小输出。输入格式 一行三个整数。输出格式 一行三个整数,从大到小排序。样例输入33 88 77样例输出88 77 33代码:import java.util.Arrays;import java.util.Scanner;public class Main原创 2017-05-09 17:56:53 · 483 阅读 · 0 评论 -
算法训练 Torry的困惑(基本型)
问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式原创 2017-05-09 15:52:23 · 446 阅读 · 0 评论 -
算法训练 删除数组零元素
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)5 3 4 0原创 2017-05-09 15:37:05 · 504 阅读 · 0 评论 -
算法训练 C++ CH08 01
问题描述 已知一个有理数类Zrf_Ratio,实现如下的操作符重载形式: friend std::ostream& operator friend std::istream& operator>>(std::istream&, zrf_Ratio&); friend bool operator==(const zrf_Ratio&, const zrf_Ratio&);转载 2017-05-09 14:25:58 · 691 阅读 · 0 评论 -
算法训练 矩阵乘法
问题描述 输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200)。 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。 接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式 m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。原创 2017-05-09 13:50:15 · 418 阅读 · 0 评论 -
第八届蓝桥杯省赛JavaB组第七题日期问题
标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。 比如02/03/04,可能是2002年03月04日、2004年02月...原创 2017-04-22 15:29:14 · 542 阅读 · 0 评论 -
第八届蓝桥杯省赛JavaB组第六题最大公共子串
标题:最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。public class Main...原创 2017-04-22 15:25:17 · 610 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第三题三羊献瑞
三羊献瑞观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。参考答案:1085public class Main { public stati...原创 2017-03-24 22:26:37 · 485 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第二题立方变自身
立方变自身观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3 = 1 8^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。参考答案:1 8 17 18 26 27 共6个public class M...原创 2017-03-24 21:58:33 · 490 阅读 · 0 评论 -
第六届蓝桥杯省赛JavaB组第一题三角形面积
三角形面积如【图1】所示。图中的所有小方格面积都是1。那么,图中的三角形面积应该是多少呢?请填写三角形的面积。不要填写任何多余内容或说明性文字。参考答案:28...原创 2017-03-24 21:37:21 · 666 阅读 · 0 评论 -
算法训练 6-1 递归求二项式系数值
问题描述样例输入一个满足题目要求的输入范例。3 10样例输出与上面的样例输入对应的输出。数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。import java.util.Scanner;public class Main { public static void main(Strin原创 2016-12-05 20:13:39 · 1404 阅读 · 0 评论 -
算法训练 寻找数组中最大值
算法训练 寻找数组中最大值 时间限制:1.0s 内存限制:512.0MB 问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标。输入格式 整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。输出格式 输出最大值,及其下标样原创 2017-01-11 22:47:23 · 542 阅读 · 1 评论