![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_基础_蓝桥杯
三茶先生
life is so long,bu needs you to face~
展开
-
李白打酒(第五届蓝桥杯)
李白打酒话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请原创 2017-04-06 19:17:13 · 345 阅读 · 0 评论 -
算法提高 盾神与条状项链
算法提高 盾神与条状项链 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链。当他准备把项链首尾相接的时候,土方进来了。 “哇这么恶心的项链你也做得出来!!!” 盾神自知审美不是他的长项,于是他很谦虚地请教土方,怎原创 2017-03-14 17:14:02 · 364 阅读 · 0 评论 -
蚂蚁感冒
蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。 【数据格式】 第一行输入一个整数n (1 < n < 50),原创 2017-04-06 22:10:48 · 167 阅读 · 0 评论 -
算法提高 01背包
算法提高 01背包 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能装重量。 以后N行每行两个数Wi和Vi,表示物品的重量和价值 输出格式 输出1行,包含一原创 2017-03-13 21:47:28 · 223 阅读 · 0 评论 -
算法提高 学霸的迷宫
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗。但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫。因为班长还有妹子要陪,磨刀不误砍柴功,他为了节约时间,从线人那里搞到了迷宫的地图,准备提前计算最短的路线。可是他现在正向妹子解释这件事情原创 2017-03-13 21:21:02 · 411 阅读 · 0 评论 -
奇怪的分式
奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同原创 2017-04-06 22:12:25 · 243 阅读 · 1 评论 -
第五届蓝桥杯(校内选拔赛)
1. 输入一个字符串,求它包含多少个单词。单词间以一个或者多个空格分开。 第一个单词前,最后一个单词后也可能有0到多个空格。 比如:” abc xyz” 包含两个单词,”ab c xyz ” 包含3个单词。如下的程序解决了这个问题,请填写划线部分缺失的代码。注意:只填写划线部分的代码,不要填写任何多余的内容。比如已经存在的小括号,注释或说明文字等。int get_word原创 2017-03-28 17:24:00 · 4697 阅读 · 2 评论 -
算法提高 c++_ch04_02_修正版
算法提高 c++ch04_02修正版 时间限制:1.0s 内存限制:256.0MB 提交此题 【题目描述】 实现一个时间类Time。将小时,分钟和秒存储为int型成员变量。要求该类中包含一个构造函数,访问用的函数,一个推进当前时间的函数adv(),一个重新设置当前时间(即将当前时间设为00:00:00)的函数reset()和输出结果函数print()。注意时间按数字式电子表格原创 2017-03-12 10:49:55 · 423 阅读 · 0 评论 -
算法提高 排列数
算法提高 排列数 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 0、1、2三个数字的全排列有六种,按照字母序排列如下: 012、021、102、120、201、210 输入一个数n 求0~9十个数的全排列中的第n个(第1个为0123456789)。 输入格式 一行,包含一个整数n 输出格式 一行,包含一组10个数字的全排列 样例原创 2017-03-11 19:56:05 · 638 阅读 · 0 评论 -
算法提高 日期计算
算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式 输入只有一行 YYYY MM DD 输出格式 输出只有一行 W 数据规模和约定 1599 <= YYYY <= 2999原创 2017-03-11 17:43:48 · 282 阅读 · 0 评论 -
算法提高 7-2求arccos值
算法提高 7-2求arccos值 时间限制:10.0s 内存限制:256.0MB 提交此题 问题描述 利用标准库中的cos(x)和fabs(x)函数实现arccos(x)函数,x取值范围是[-1, 1],返回值为[0, PI]。要求结果准确到小数点后5位。(PI = 3.1415926) 提示:要达到这种程度的精度需要使用double类型。 样例输入 0.5 样例输出数据原创 2017-03-07 15:59:17 · 1332 阅读 · 0 评论 -
算法提高 道路和航路
算法提高 道路和航路 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 农夫约翰正在针对一个新区域的牛奶配送合同进行研究。他打算分发牛奶到T个城镇(标号为1..T),这些城镇通过R条标号为(1..R)的道路和P条标号为(1..P)的航路相连。每一条公路i或者航路i表示成连接城镇Ai(1<=A_i<=T)和Bi(1<=Bi<=T)代价为Ci。每一条公原创 2017-03-14 21:15:40 · 813 阅读 · 0 评论 -
第六届蓝桥杯
1. 奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。枚举暴力#include<stdio.h>原创 2017-03-31 21:40:38 · 330 阅读 · 0 评论 -
历届试题 连号区间数
历届试题 连号区间数 问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格原创 2017-04-06 17:27:24 · 184 阅读 · 0 评论 -
历届试题 回文数字
历届试题 回文数字 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。 输入格式 一个正整数 n (10#include <cmath原创 2017-04-05 22:01:02 · 183 阅读 · 0 评论 -
六角填数
六角填数 如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?暴力伤肾啊~~#include <cmath>#include <cstdio>#include <algorithm>#include <stack>#include <iostream>#include <cstring>usi原创 2017-04-05 21:57:59 · 252 阅读 · 0 评论 -
算法训练 斐波拉契
历届试题 斐波那契 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 斐波那契数列大家都非常熟悉。它的定义是: f(x) = 1 …. (x=1,2) f(x) = f(x-1) + f(x-2) …. (x>2) 对于给定的整数 n 和 m,我们希望求出: f(1) + f(2) + … + f(n) 的值。但这个值可能非常大,所以我们把它对 f(m原创 2017-04-05 20:08:01 · 487 阅读 · 0 评论 -
算法训练 表达式计算
算法训练 表达式计算 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。 输入格式 输入一行,包含一个表达式。 输出格式 输出这个表达式的值。 样例输入 1-2+3*(4-5) 样例输出 -4 数据规模和约定 表达式长度不超过100,表达式运算合法且运算过程都在in原创 2017-04-04 22:29:45 · 270 阅读 · 0 评论 -
算法训练 最短路
算法训练 最短路 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式 第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式 共n-1行,第i行表示1号点到i原创 2017-04-04 16:12:08 · 405 阅读 · 0 评论 -
历届试题 地宫取宝
历届试题 地宫取宝 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。原创 2017-04-03 22:18:34 · 174 阅读 · 0 评论 -
历届试题 小朋友排队(归并排序求逆序数)
问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。 请问,要让所有小朋原创 2017-02-24 21:16:34 · 1190 阅读 · 0 评论 -
第七届蓝桥杯(本科B组)
1。。煤球数目有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), …. 如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。注意,是要你统计所有的球数量,别算到100层了 5050究竟害了多少人。。。 答案是171原创 2017-04-03 17:03:04 · 292 阅读 · 0 评论 -
算法提高 最小方差生成树
算法提高 最小方差生成树 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给定带权无向图,求出一颗方差最小的生成树。 输入格式 输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。 输出格式 对于每组数据,输出最小方差,四舍五入到转载 2017-03-15 21:48:37 · 947 阅读 · 1 评论 -
算法提高 题目1 最大最小值
算法提高 题目1 最大最小值 时间限制:1.0s 内存限制:1.0GB 提交此题 问题描述 给定 N 个整数,请你找出这 N 个数中最大的那个和最小的那个。 输入格式 第一行包含一个正整数 N 。(1 ≤ N ≤ 10000)。 第二行为 N 个用空格隔开的整数,每个数的绝对值不超过 1000000。 输出格式 输出仅一行,包含两个整数 x,y,x 表示 N 个原创 2017-03-07 15:57:17 · 452 阅读 · 0 评论 -
算法训练 操作格子
算法训练 操作格子 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式 第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每原创 2017-03-05 21:38:10 · 244 阅读 · 0 评论 -
算法提高 矩阵乘法
算法提高 矩阵乘法 时间限制:3.0s 内存限制:256.0MB 提交此题 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, …, a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算。 两个大小分别为p*q和q*r的矩阵相乘时的运算次数计为p*q*r。 输入格式 输入的第一行包含一个整数n,表示矩阵的个数。 第原创 2017-02-26 20:54:24 · 948 阅读 · 0 评论 -
文章标题
算法提高 9-1九宫格 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。 样例输出 与上面的样例输入对应的输出。 例:数据规模和约定 输入1-9这9个数字的一种任意排序。 #include<stdio.h>int main(){原创 2017-03-03 16:30:40 · 156 阅读 · 0 评论 -
算法提高 9-2 文本加密
算法提高 9-2 文本加密 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:”A”转化”B”,”B”转化为”C”,… …”Z”转化为”a”,”a”转化为”b”,… …, “z”转化为”A”,其它字符不加密。编写程序,加密给定字符串。 样例输出 与上面的样例输入对应的输出。 例:原创 2017-03-03 16:04:45 · 303 阅读 · 0 评论 -
历届试题 矩阵翻硬币
问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。 小明想知道最开始有多少枚硬币是反面朝转载 2017-02-23 21:09:33 · 297 阅读 · 0 评论 -
历届试题 分糖果
问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式原创 2017-02-23 21:00:52 · 533 阅读 · 0 评论 -
历届试题 兰顿蚂蚁
问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十分复杂。原创 2017-02-23 20:57:26 · 180 阅读 · 0 评论 -
蓝桥杯- 历届试题 核桃的数量
问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋原创 2017-02-23 20:53:22 · 238 阅读 · 0 评论 -
算法提高 9-3摩尔斯电码
算法提高 9-3摩尔斯电码 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用”zylib.h”,只能使用标准库函数。用’ * ‘表示’ . ‘,中间空格用’ | ‘表示,只转化字符表。 摩尔斯码定义见:http://baike.baidu.com/view/84585.htm转载 2017-03-02 21:03:53 · 395 阅读 · 0 评论 -
最小生成树Kruskal算法的实现
Kruskal算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。算法过程: 1).记Graph集合中有v个顶点,e个边2).新建图Graphnew,Graphnew中拥有原图中相同的e个顶点,但没翻译 2017-03-01 21:18:42 · 352 阅读 · 0 评论 -
算法提高 P1001 (大数相乘)
算法提高 P1001 时间限制:1.0s 内存限制:256.0MB 提交此题 当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:627原创 2017-03-01 19:40:25 · 319 阅读 · 0 评论 -
算法提高 合并石子
算法提高 合并石子 时间限制:2.0s 内存限制:256.0MB 提交此题 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数。求把所有石子合并成一堆的最小花费。 输入格式 输入第一行包含一个整数n,表示石子的堆数。 接下来一行,包含n个整数,按顺序给出每堆石子的大小 。 输出格式原创 2017-02-28 20:15:49 · 699 阅读 · 0 评论 -
算法提高 8-1因式分解
算法提高 8-1因式分解 时间限制:10.0s 内存限制:256.0MB 提交此题 问题描述 设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。 样例 与上面的样例输入对应的输出。 例:数据规模和约定 输入数据中每一个数在int表示范围内。#include<cstdio>#include <iostream>u原创 2017-03-03 17:09:16 · 268 阅读 · 0 评论 -
算法提高 8-1因式分解
算法提高 8-1因式分解 时间限制:10.0s 内存限制:256.0MB 提交此题 问题描述 设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。 样例 与上面的样例输入对应的输出。 例: 数据规模和约定 输入数据中每一个数在int表示范围内。#include<cstdio>#include <iostream>原创 2017-03-03 17:10:04 · 1310 阅读 · 0 评论 -
poj1363Rails
Rails Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33361 Accepted: 13021 DescriptionThere is a famous railway station in PopPush City. Country there is incredibly hilly. Th原创 2017-03-05 16:44:03 · 216 阅读 · 0 评论 -
算法提高 队列操作
算法提高 队列操作 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。 输入格式 第一行一个数字N。 下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。 输出格式 若干行每行显示一个2或3命令的输出结果原创 2017-02-26 09:35:09 · 216 阅读 · 0 评论