蓝桥杯15届C/C++B组省赛题目
问题描述
小蓝组织了一场算法交流会议,总共有 5050 人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 77 个人,这 77 人彼此之间没有进行握手 (但这 77 人与除这 77 人以外的所有人进行了握手)。请问这些人之间一共进行了多少次握手?
注意 AA 和 BB 握手的同时也意味着 BB 和 AA 握手了,所以算作是一次握手。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:1204
问题描述
有一长方形,长为 343720343720 单位长度,宽为 233333233333 单位长度。在其内部左上角顶点有一小球 (无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为 dx:dy=15:17dx:dy=15:17。小球碰到长方形的边框时会发生反弹,每次反弹的入射角与反射角相等,因此小球会改变方向且保持速率不变(如果小球刚好射向角落,则按入射方向原路返回)。从小球出发到其第一次回到左上角顶点这段时间里,小球运动的路程为多少单位长度?答案四舍五入保留两位小数。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个小数,在提交答案时只填写这个小数,填写多余的内容将无法得分。
答案:1100325199.77
主要是想到重新回到左上角时,它的矢量路程一定是长宽的偶数倍
问题描述
一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数,我们就称之为 “好数”。
给定一个正整数 NN,请计算从 1 到 NN 一共有多少个好数。
输入格式
一个整数 NN。
输出格式
一个整数代表答案。
样例输入 1
24
样例输出 1
7
样例输入 2
2024
样例输出 2
150
样例说明
对于第一个样例,2424 以内的好数有 11、33、55、77、99、2121、2323,一共 77 个。
评测用例规模与约定
对于 10%10% 的评测用例,1≤N≤1001≤N≤100 。
对于 100%100% 的评测用例,1≤N≤1071≤N≤107 。
问题描述
小蓝最近在研究一种浮点数的表示方法:RR 格式。对于一个大于 0 的浮点数 dd,可以用 RR 格式的整数来表示。给定一个转换参数 nn,将浮点数转换为 RR 格式整数的做法是:
-
将浮点数乘以 2n2n;
-
四舍五入到最接近的整数。
输入格式
一行输入一个整数 nn 和一个浮点数 dd,分别表示转换参数,和待转换的浮点数。
输出格式
输出一行表示答案:dd 用 RR 格式表示出来的值。
样例输入
2 3.14
样例输出
13
样例说明
3.14×22=12.563.14×22=12.56,四舍五入后为 1313。
评测用例规模与约定
对于 50%50% 的评测用例:1≤n≤10,1≤1≤n≤10,1≤ 将 dd 视为字符串时的长度 ≤15≤15。
对于 100%100% 的评测用例:1≤n≤1000,1≤1≤n≤1000,1≤ 将 dd 视为字符串时的长度 ≤1024≤1024;保证 dd 是小数,即包含小数点。
问题描述
在一个神秘的森林里,住着一个小精灵名叫小蓝。有一天,他偶然发现了一个隐藏在树洞里的宝藏,里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状,但最引人注目的是它们各自独特的 “闪亮度” 属性。每颗宝石都有一个与生俱来的特殊能力,可以发出不同强度的闪光。小蓝共找到了 NN 枚宝石,第 ii 枚宝石的 “闪亮度” 属性值为 HiHi,小蓝将会从这 NN 枚宝石中选出三枚进行组合,组合之后的精美程度 SS 可以用以下公式来衡量:
S=HaHbHc⋅LCM(Ha,Hb,Hc)LCM(Ha,Hb)⋅LCM(Ha,Hc)⋅LCM(Hb,Hc)S=HaHbHc⋅LCM(Ha,Hb)⋅LCM(Ha,Hc)⋅LCM(Hb,Hc)LCM(Ha,Hb,Hc)
其中 LCMLCM 表示的是最小公倍数函数。
小蓝想要使得三枚宝石组合后的精美程度 SS 尽可能的高,请你帮他找出精美程度最高的方案。如果存在多个方案 SS 值相同,优先选择按照 HH 值升序排列后字典序最小的方案。
输入格式
第一行包含一个整数 NN 表示宝石个数。
第二行包含 NN 个整数表示 NN 个宝石的 “闪亮度”。
输出格式
输出一行包含三个整数表示满足条件的三枚宝石的 “闪亮度”。
样例输入
5
1 2 3 4 9
样例输出
1 2 3
评测用例规模与约定
对于 30%30% 的评测用例:3≤N≤100,1≤Hi≤10003≤N≤100,1≤Hi≤1000 。
对于 60%60% 的评测用例:3≤N≤20003≤N≤2000 。
对于 100%100% 的评测用例:3≤N≤105,1≤Hi≤1053≤N≤105,1≤Hi≤105 。
问题描述
小蓝最近迷上了一款名为《数字接龙》的迷宫游戏,游戏在一个大小为 N×NN×N 的格子棋盘上展开,其中每一个格子处都有着一个 0…K−10…K−1 之间的整数。游戏规则如下:
-
从左上角 (0,0)(0,0) 处出发,目标是到达右下角 (N−1,N−1)(N−1,N−1) 处的格子,每一步可以选择沿着水平/垂直/对角线方向移动到下一个格子。
-
对于路径经过的棋盘格子,按照经过的格子顺序,上面的数字组成的序列要满足:0,1,2,…,K−1,0,1,2,…,K−1,0,1,2…0,1,2,…,K−1,0,1,2,…,K−1,0,1,2… 。
-
途中需要对棋盘上的每个格子恰好都经过一次(仅一次)。
-
路径中不可以出现交叉的线路。例如之前有从 (0,0)(0,0) 移动到 (1,1)(1,1) ,那么再从 (1,0)(1,0) 移动到 (0,1)(0,1) 线路就会交叉。
为了方便表示,我们对可以行进的所有八个方向进行了数字编号,如下图 2 所示;因此行进路径可以用一个包含 0…70…7 之间的数字字符串表示,如下图 1 是一个迷宫示例,它所对应的答案就是:4125521441255214。
现在请你帮小蓝规划出一条行进路径并将其输出。如果有多条路径,输出字典序最小的那一个;如果不存在任何一条路径,则输出 −1−1。
输入格式
第一行包含两个整数 N,KN,K 。
接下来输入 NN 行,每行 NN 个整数表示棋盘格子上的数字。
输出格式
输出一行表示答案。如果存在答案输出路径,否则输出 −1−1。
样例输入
3 3
0 2 0
1 1 1
2 0 2
样例输出
41255214
样例说明
行进路径如图 11 所示。
评测用例规模与约定
对于 80%80% 的评测用例:1≤N≤51≤N≤5 。
对于 100%100% 的评测用例:1≤N≤10,1≤K≤101≤N≤10,1≤K≤10 。
问题描述
小明是学校里的一名老师,他带的班级共有 nn 名同学,第 ii 名同学力量值为 aiai。在闲暇之余,小明决定在班级里组织一场拔河比赛。
为了保证比赛的双方实力尽可能相近,需要在这 nn 名同学中挑选出两个队伍,队伍内的同学编号连续:{al1,al1+1,…,ar1−1,ar1}{al1,al1+1,…,ar1−1,ar1} 和 {al2,al2+1,…,ar2−1,ar2}{al2,al2+1,…,ar2−1,ar2},其中 l1≤r1<l2≤r2l1≤r1<l2≤r2。
两个队伍的人数不必相同,但是需要让队伍内的同学们的力量值之和尽可能相近。请计算出力量值之和差距最小的挑选队伍的方式。
输入格式
输入共两行。
第一行为一个正整数 nn。
第二行为 nn 个正整数 aiai。
输出格式
输出共一行,一个非负整数,表示两个队伍力量值之和的最小差距。
样例输入
5
10 9 8 12 14
样例输出
1
样例说明
其中一种最优选择方式:
队伍 1: {a1,a2,a3}{a1,a2,a3},队伍 2:{a4,a5}{a4,a5},力量值和分别为 10+9+8=2710+9+8=27 , 12+14=2612+14=26,差距为 ∣27−26∣=1∣27−26∣=1 。
评测用例规模与约定
对于 20%20% 的评测用例,保证 n≤50n≤50 。
对于 100%100% 的评测用例,保证 n≤103,ai≤109n≤103,ai≤109 。