- 博客(20)
- 收藏
- 关注
原创 1558: [蓝桥杯2021初赛] 砝码称重 C/C++
砝码称重 题目描述 你有一架天平和N 个砝码,这N 个砝码重量依次是W1, W2, ... , WN。 请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边。 输入格式 输入的第一行包含一个整数N。 第二行包含N 个整数:W1, W2, W3, ... , WN。 对于50% 的评测用例,1 ≤ N≤15。 对于所有评测用例,1≤N≤100,N 个砝码总重不超过100000。 输出格式 输出一个整数代表答案。 输入样例 3 1 4 6 输出样例 10 ...
2022-04-05 11:18:35
2758
6
原创 1066: 消消乐 (删除连续相同的三个字符) C++
题目描述: 一个字符串,如果连续三个都是同一个字母的话,它们将会被消去。 每次只能消去相邻的相同的三个字母。例如aaaabbbc,消去后变成ac。 有些特殊的字符串,消去一次之后还可以再次消去。 例如abbbaa:第一次消去了中间的bbb,变成了aaa,第二次消去aaa,字符串变成空字符串。 现在给你一个长度不超过100的字符串,请你不断地对这个字符串进行消去,直到不能消去为止。 输入格式: 一行,长度不超过100的字符串。 输出格式: 第一行,输出最终剩下的字符串的长度。 第二行,输出最终的字
2022-04-05 10:32:26
3693
原创 1320: [蓝桥杯2017初赛]方格分割 C/C++
题目描述: 6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图就是可行的分割法。 试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。 输出格式: 输出一个整数表示答案 本题采用dfs算法,我们会发现,不管怎样切割,表格的中心点(3,3)必定是切割点,所以我们选择使用从中心点(3,3)处开始深搜切割点的方法而不是深搜格子的方法,当搜索到的切割点在边沿处则是搜索完毕(到达边沿处即已经将表格切割为两块)。 另外要注意的是,旋转对称.
2022-03-10 21:08:54
1261
原创 1288: [蓝桥杯2016初赛]密码脱落 C/C++
题目描述: X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。 由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。 你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。 输入格式: 输入存在多组测试数据,对于每组测试数据输入一行,表示现在看到的密码串(长度不大于1000) 输出格式: 对于每组测试数据要求输出一个正
2022-03-05 10:47:24
878
1
原创 1287: [蓝桥杯2016初赛]四平方和 C/C++
题目描述: 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思) 对于一个给定的正整数N,可能存在多种平方和的表示法。 要求你对4个数排序:0<= a <= b <= c <= d 并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法 输.
2022-03-05 09:49:38
503
原创 1265: [蓝桥杯2015决赛]四阶幻方 C/C++
题目描述: 把1~16的数字填入4x4的方格中,使得行、列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方。 四阶幻方可能有很多方案。如果固定左上角为1,请计算一共有多少种方案。 比如: 1 2 15 16 12 14 3 5 13 7 10 4 8 11 6 9 以及: 1 12 13 8 2 14 7 11 15 3 10 6 16 5 4 9 就可以算为两种不同的方案。 输出格式: 请提交左上角固定为1时的所有方案数字 分析: 本以为本题可以采...
2022-03-03 19:19:45
1160
1
原创 1284: [蓝桥杯2016初赛]方格填数 C/C++
题目描述 如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)一共有多少种可能的填数方案? 输出格式 请填写表示方案数目的整数。 方法:dfs 在构造格子的二维数组时,如果直接按照题目所给的构造一个3*4的数组,那我们就需要考虑各种格子的情况比如说左下角的格子需要检验上方、右上方以及右方的格子,而右上角的格子需要检验下方、左下方以及左方的格子,那么填每个格子的时候所需要检验的格子方位都不同。如此一来需要分多种情况,太麻烦了,所以我们可以直接..
2022-03-01 21:39:06
701
原创 深度优先搜索合集(DFS )持更
例题1:数字金字塔 问题描述: 观察下面数字金字塔。找出从最高点到底部任意处结束的路径,使得路径经过数字的和最大。每一步可以从当前点走到左下方或者走到右下方。注意:行数1<=n<=1000。 我的题解: #include <iostream> using namespace std; int A[101][101] = {0}; int n,ans = 0; int dx[3] = {0,1,1}; int dy[3] = {0,0,1}; /* 5 7 3 5 8.
2022-02-16 17:10:54
540
原创 1388: [蓝桥杯2018决赛]约瑟夫环 C/C++
题目描述: n 个人的编号是 1~n,如果他们依编号按顺时针排成一个圆圈,从编号是1的人开始顺时针报数。 报数是从1报起,当报到 k 的时候,这个人就退出游戏圈。下一个人重新从1开始报数。 求最后剩下的人的编号。这就是著名的约瑟夫环问题。 本题目就是已知 n,k 的情况下,求最后剩下的人的编号。 输入格式: 输入两个整数n,k(0<n,k<10^6) 输出格式: 要求输出一个整数,表示最后剩下的人的编号。 输入样例: 10 3 输出样例: 4 本题我想到了三种解法,分别.
2022-02-06 15:57:49
3278
原创 1264: [蓝桥杯2015决赛]方格填数 C/C++
题目描述: 在2行5列的格子中填入1到10的数字。 要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。 如下图所示的2种,就是合格的填法。 请你计算一共有多少种可能的方案。 输出格式: 请输出该整数,不要输出任何多余的内容。 分析: 可以将两排方格看成一排,用一维数组存放。则此时需要比较大小的是i与i+1(上面一排的左右比较),i+5与i+6(下面一排的左右比较),i与i+5(上下比较)。 另外,本题涉及到全排列问题,用到c++的next_permutation函数,perm..
2022-01-09 17:25:29
628
原创 1263: [蓝桥杯2015初赛]打印大X C/C++
题目描述: 小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。 为了便于比对空格,所有的空白位置都以句点符来代替。 要求输入两个整数m n,表示笔的宽度,X的高度。 输入格式: 输入存在多组数据 每组测试数据输入一行,包含两个整数,用空格分开 (0<m<n, 3<n<1000, 保证n是奇数) 输出格式: 要求输出一个大X 输入样例: 3 9 4 21 输出样例: ***.....*** .***...***. ..***.***..
2022-01-09 11:27:27
507
原创 1261: [蓝桥杯2015初赛]移动距离 C/C++
题目描述: 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,空格分开,都在1到10000范围内 w为排号宽度,m,n为待计算...
2022-01-09 10:42:12
288
原创 1260: [蓝桥杯2015初赛]加法变乘法 C/C++
题目描述: 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交。 (对于示例,就是提交10)。 输出格式: 注意:需要你提交的是一个整数,不要填写任何多余的内容。 分析: 本题枚举两个乘号的位置即可得出答案,其中无需从1到49进行计算,利用如
2022-01-09 10:06:55
388
原创 1259: [蓝桥杯2015初赛]三羊献瑞 C/C++
题目描述: 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 输出格式: 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 分析: 本题可以采用暴力枚举的方式解决,在此之前可以先缩小数字查找范围。首先可以将文字用变量描述,即abcd+efgh=efcbh。因为是四位数加四位数得到五位数,则e为1,又因为有进位,则a为9,f即为0。 我的题解: #in.
2022-01-08 13:30:49
916
原创 1258: [蓝桥杯2015初赛]奖券数目 C/C++
题目描述: 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。 某抽奖活动奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码。 主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 输出格式: 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 我的题解: #include <bits/stdc++.h> using namespace std; bool
2022-01-08 12:27:56
333
原创 1255:[蓝桥杯2015初赛]饮料换购 C/C++
题目描述: 乐羊羊饮料厂正在举办一次促销优惠活动。 乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动。 那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。 输入格式: 输入存在多组测试数据 每组测试数据输入一行包含一个正整数n(1<=n<=10000) 输出格式: 对于每组数据输出一行,包含一个整数,表示实际得到的饮料数 输入样例: 100 101 输出样例: 149 .
2022-01-08 12:00:39
545
原创 1253:[蓝桥杯2015初赛]牌型种数 C/C++
题目描述: 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序 自己手里能拿到的初始牌型组合一共有多少种呢? 输出格式: 请输出该整数,不要输出任何多余的内容或说明文字。 分析: 本题为结果填空题,直接使用暴力枚举。 我的题解: #include <stdio.h> int main(void) { int sum =
2022-01-07 18:44:01
281
原创 1252 :[蓝桥杯2015初赛]奇妙的数字 C/C++
题目描述: 小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗? 输出格式: 请输出该数字,不要输出任何多余的内容。 分析: 首先缩小这个数的范围。 一位数最大的是9,9*9=81,9*9*9=729,一共只有5个数构成,显然不符合。 两位数最大的是99,99*99=9801,99*99=970299,位数是符合的。 三位数最大的是999,999*999=998001,999*999*999=997002999,显然不符合。 因
2022-01-07 18:21:39
524
原创 1251 :[蓝桥杯2015初赛]星系炸弹 excel
题目描述 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,a年b月c日放置,定时为n天,请你计算它爆炸的准确日期。 输入格式 输入存在多组数据,每组数据输入一行,每一行输入四个正整数a,b,c,n 输入保证日期在1000-01-01到2020-01-01之间,且日期合法。 n不超过1000 输出格式 请填写该日期,格式为 yyyy-..
2022-01-07 14:10:20
191
原创 1250:[蓝桥杯2015初赛]方程整数解 C/C++
题目描述: 方程: a^2 + b^2 + c^2 = 1000 这个方程有正整数解吗?有:a,b,c=6,8,30 就是一组解。 求出a^2 + b^2 + c^2 = n(1<=n<=10000)的所有解,解要保证c>=b>=a>=1。 输入格式: 存在多组测试数据,每组测试数据一行包含一个正整数n(1<=n<=10000) 输出格式: 如果无解则输出"No Solution"。 如果存在多解,每组解输出1行,输出格式:a b c,以一个空格...
2022-01-07 13:21:09
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅