蓝桥杯
小明的博客
acm小弟
展开
-
九数分三组
题目:1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系: B = 2 * A C = 3 * A请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。注意:只提交A的值,严格按照格式要求输出。分析:很明显A的取值范围是111~333,那么在这个区间里面,还要考虑,A、B、C里面不能包含0,最后再考虑的问题是A、B、C三个数字连起来组成的字符串经过排序应该是”123原创 2017-03-23 13:17:01 · 3594 阅读 · 0 评论 -
第七届蓝桥杯b组第八题-四平方和
四平方和四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 (^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对4个数排序: 0 <= a <= b <= c <原创 2017-03-29 19:44:57 · 2624 阅读 · 0 评论 -
第七届蓝桥杯b组第六题-方格填数
方格填数如下的10个格子 (如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include"iostream"#include"algorithm"#include"string.h"#inc原创 2017-03-28 15:32:25 · 2552 阅读 · 0 评论 -
第七届蓝桥杯b组第七题-剪邮票 题解二(全排列stl)
这里就不复制题目了 上一篇博客里有简单的介绍一下思路:直接调用全排列函数,然后对于每一种情况,用dfs判断是否连通,统计总的符合要求的个数#include"iostream"#include"algorithm"#include"string.h"using namespace std;int ai[3][4];int bi[12]={0,0,0,0,0,0,0,1,1,1,1,1};原创 2017-03-28 14:13:00 · 2813 阅读 · 0 评论 -
第七届蓝桥杯b组第七题-剪邮票
剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include"iostream"#incl原创 2017-03-27 21:40:52 · 2989 阅读 · 0 评论 -
蓝桥杯模拟题-风险度量
标题:风险度量X星系的的防卫体系包含 n 个空间站。这 n 个空间站间有 m 条通信链路,构成通信网。 两个空间站间可能直接通信,也可能通过其它空间站中转。对于两个站点x和y (x != y), 如果能找到一个站点z,使得: 当z被破坏后,x和y无法通信,则称z为关于x,y的关键站点。显然,对于给定的两个站点,关于它们的关键点的个数越多,通信风险越大。你的任务是:已知网络结构,求两站点之间的通信原创 2017-03-30 22:57:07 · 2796 阅读 · 0 评论 -
2017第八届蓝桥杯C/C++ B组省赛题解、答案
第八届蓝桥杯题目和答案链接原创 2017-04-09 10:10:02 · 4803 阅读 · 0 评论 -
凑平方数
凑平方数把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的。 比如:0, 36, 5948721再比如: 1098524736 1, 25, 6390784 0, 4, 289, 15376 等等…注意,0可以作为独立的数字,但不能作为多位数字的开始。 分组时,必须用完所有的数字,不能重复,不能遗漏。如果不计较小组内数据的先后顺序,请问有多少种不同的分组方案?注意:原创 2017-04-20 13:46:17 · 5475 阅读 · 4 评论 -
打印数字
打印数字小明写了一个有趣的程序,给定一串数字。 它可以输出这串数字拼出放大的自己的样子。 比如“2016”会输出为: 22222 00000 1 66662 2 0 0 1 1 6 2 0 0 1 666666 2 0 0 1 6 6 2 0 0 1原创 2017-04-25 21:16:45 · 3573 阅读 · 0 评论 -
赢球票
某机构举办球票大奖赛。获奖选手有机会赢得若干张球票。主持人拿出 N 张卡片(上面写着 1~N 的数字),打乱顺序,排成一个圆圈。 你可以从任意一张卡片开始顺时针数数: 1,2,3….. 如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数。 直到再无法收获任何卡片,游戏结束。囊中卡片数字的和就是赢得球票的张数。比如: 卡片排列是:1 2 3 我们从1号卡开始数,就原创 2017-04-25 21:51:07 · 4109 阅读 · 2 评论 -
生物芯片
标题:生物芯片X博士正在研究一种生物芯片,其逻辑密集度、容量都远远高于普通的半导体芯片。博士在芯片中设计了 n 个微型光源,每个光源操作一次就会改变其状态,即:点亮转为关闭,或关闭转为点亮。这些光源的编号从 1 到 n,开始的时候所有光源都是关闭的。博士计划在芯片上执行如下动作:所有编号为2的倍数的光源操作一次,也就是把 2 4 6 8 ... 等序号光源打开所有编号为3的倍数的光源操作一次, 也就原创 2017-05-09 19:45:43 · 2776 阅读 · 0 评论 -
蓝桥杯模拟题-猜算式
题目:猜算式你一定还记得小学学习过的乘法计算过程,比如:请你观察如上的乘法算式星号代表某位数字,注意这些星号中, 0~9中的每个数字都恰好用了2次。 (如因字体而产生对齐问题,请参看图p1.jpg)请写出这个式子最终计算的结果,就是那个5位数是多少?注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。#include"iostream"using namespace std;in原创 2017-03-30 09:34:53 · 2822 阅读 · 0 评论 -
蓝桥杯模拟题-还款计算
标题: 还款计算银行贷款的等额本息还款方法是:每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。则银行会在每个月进行结算:结算方法是:计算本金在本月产生的利息: 本金 x (年利率/12)则本月本金结余为:本金 + 利息 - 每月固定还款额计算结果会四舍五入到“分”。经计算,此种情况下,固定还款原创 2017-03-30 15:32:18 · 2784 阅读 · 0 评论 -
第六届蓝桥杯-三羊献瑞
三羊献瑞观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。#include"iostream"using namespace std原创 2017-04-04 17:49:35 · 2430 阅读 · 0 评论 -
蓝桥杯模拟题-排列序数
标题: 排列序数X星系的某次考古活动发现了史前智能痕迹。 这是一些用来计数的符号,经过分析它的计数规律如下: (为了表示方便,我们把这些奇怪的符号用a~q代替)abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcdefghijklmnpoq 表示2 abcdefghijklmnpqo 表示3 abcdefghijklmnqop 表示4 abcd原创 2017-03-30 13:35:44 · 3481 阅读 · 0 评论 -
蓝桥杯模拟题-字符串比较
标题:字符串比较我们需要一个新的字符串比较函数compare(s1, s2). 对这个函数要求是: 1. 它返回一个整数,表示比较的结果。 2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。 3. 结果的绝对值表示:在第几个字母处发现了两个串不等。下面是代码实现。对题面的数据,结果为: -3 2 5仔细阅读源程序,填写划线位置缺少的代码。Java语言代码:static i原创 2017-03-30 13:55:08 · 3053 阅读 · 0 评论 -
第七届蓝桥杯b组第四题-快速排序
快速排序排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。#include <stdio.h>void swap(int a[], int i, i原创 2017-03-24 20:59:08 · 2375 阅读 · 0 评论 -
第七届蓝桥杯b组第三题-凑算式
凑算式 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。#include<iostream>#include<stdio.h>#include"math.h"using namespace std原创 2017-03-23 15:42:39 · 2473 阅读 · 0 评论 -
第七届蓝桥杯b组第一题-煤球数目
煤球数目有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), …. 如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include"stdio.h"int main(){ int ai[110];原创 2017-03-23 13:39:43 · 2303 阅读 · 0 评论 -
第七届蓝桥杯b组第五题-抽签
抽签X星球要派出一个5人组成的观察团前往W星。 其中: A国最多可以派出4人。 B国最多可以派出2人。 C国最多可以派出2人。 ….那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。 数组a[] 中既是每个国家可以派出的最多的名额。 程序执行结果为: DEFFF CEFFF CDFFF CDEFF CCFFF CCEFF CCDFF CCDE原创 2017-03-24 21:43:09 · 2621 阅读 · 0 评论 -
第六届蓝桥杯-九数组分数
九数组分数1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。#include <stdio.h>void test(int x[]){ int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000 + x[6]*100 +原创 2017-04-05 14:36:16 · 2491 阅读 · 0 评论 -
第六届蓝桥杯-移动距离
移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 …..我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在原创 2017-04-05 15:37:19 · 2694 阅读 · 1 评论 -
第六届蓝桥杯-加法变乘法
加法变乘法我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如: 1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015 就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。#include"原创 2017-04-05 15:02:24 · 2394 阅读 · 0 评论 -
第六届蓝桥杯-牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。#include"iostream"using namespace std;int n原创 2017-04-05 15:19:30 · 2674 阅读 · 0 评论 -
算法提高 P1001
当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:62773417和12345678,则输出结果为:774980393241726.输入: 627734原创 2017-05-09 21:15:42 · 2369 阅读 · 0 评论