蓝桥杯
于小烦同学
平常心。
展开
-
分红酒(广度优先搜索)
标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你编原创 2013-11-25 18:39:22 · 2118 阅读 · 0 评论 -
蓝桥杯软件大赛题目集锦之编程大题
1、分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?原创 2014-03-24 19:24:54 · 5122 阅读 · 0 评论 -
2013第四届 蓝桥杯c/c++B组预赛 解题报告
大半部分题目都是自己做的,可能还有存在错误的地方,还望各位指正。有不会的题目,还请大牛们留下解题思路,谢谢了。 第一题:高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天原创 2013-11-25 18:40:02 · 1628 阅读 · 0 评论 -
关于日期、时间的问题
1、计算两个具体日期相差多少天 人类历史上出现了很多种历法。现行的公历即格里历由儒略历改革而来。它是目前较为精确和规则简明的一种历法,约3300年误差一日。因为闰年问题以及每个月的长度不等,仍然使得某些计算较为麻烦。比如:求两个日期间差多少天。 下面的代码实现了求两个由公历表示的日期间差多少天的功能。 其计算原理是先求出每个日期距离1年1月1日的天数差值,原创 2014-03-21 09:12:47 · 1146 阅读 · 0 评论 -
振兴中华
标题: 振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振我做起振兴做起振兴中起振兴中华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。原创 2014-03-19 14:54:36 · 1081 阅读 · 0 评论 -
移动字母(广度搜索+队列)
移动字母2x3=6个方格中放入ABCDE五个字母,右下角的那个格空着。如图所示。和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移动,移动后的局面分别是:A B D E CA B CD E为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局面分别表示为:AB*DECABCD*E 题目的要求是:请编写程序,由用户输入若干表示局面的串,程序通过计算,原创 2013-11-25 18:39:09 · 1038 阅读 · 0 评论 -
泊松分酒 (广搜)
泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。 有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最原创 2013-11-25 18:39:32 · 1118 阅读 · 0 评论 -
大数的乘法
1 #include 2 #includestring.h> 3 #define MAX 100 4 void change(char *st , int len); 5 using namespace std; 6 7 8 int main() 9 {10 char st1[MAX] , st2[MAX];11 int st3[2*MA原创 2013-11-25 18:39:35 · 593 阅读 · 0 评论 -
分红酒 (广度优先搜索)
标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你编程实现最小操作次数原创 2013-11-25 18:39:37 · 1159 阅读 · 0 评论 -
放麦子
题意:国际象棋,一共64个方格,第一个格子里放一粒麦子,第二个放2粒,第三个放4粒,第四个放8粒。。。。。(后面的数字是前面的两倍)求放满64个格子,一共需要多少粒麦子。 解题:还是一个大数的问题。 View Code 1 #include 2 using namespace std; 3 int main() 4 { 5 int nu原创 2013-11-25 18:39:39 · 932 阅读 · 0 评论 -
整数的分划问题。
整数的分划问题。 如,对于正整数n=6,可以分划为: 6 5+1 4+2, 4+1+1 3+3, 3+2+1, 3+1+1+1 2+2+2, 2+2+1+1, 2+1+1+1+1 1+1+1+1+1+1+1 现在的问题是,对于给定的正整数n,编写算法打印所有划分。用户从键盘输入 n (范围1~10)程序输出该整数的所有划分。 一位大神分别使用了原创 2013-11-25 18:39:41 · 1215 阅读 · 0 评论 -
字母加密
解题:做这种题目,就是细心,都能做出来的。 一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme原创 2013-11-25 18:39:43 · 5212 阅读 · 0 评论 -
输出上三角
方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出: 1 2 3 4 5 12 13 14原创 2013-11-25 18:39:45 · 1004 阅读 · 0 评论 -
顺时针螺旋打印数字
从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如: 输入数字2,则程序输出: 1 2 4 3 输入数字3,则程序输出: 1 2 3 8 9 4 7 6 5 输入数字4, 则程序输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 解题:代码原创 2013-11-25 18:39:47 · 847 阅读 · 0 评论 -
蓝桥杯软件大赛题目集锦之填空题
1、梅森素数 如果一个数字的所有真因子之和等于自身,则称它为“完全数”或“完美数” 例如:6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 早在公元前300多年,欧几里得就给出了判定完全数的定理: 若 2^n - 1 是素数,则 2^(n-1) * (2^n - 1) 是完全数。 其中 ^ 表示“乘方”运算,原创 2014-03-24 19:04:12 · 2442 阅读 · 0 评论