文章目录

  • 001 微生物繁殖(结果填空)
  • 002 古堡算式(结果填空)
  • 003 海盗比酒量(结果填空)
  • 004 奇怪的比赛(结果填空)
  • 005 转方阵(结果填空)
  • 006 大数乘法
  • 007 放棋子
  • 008 密码发生器
  • 009 夺冠概率
  • 010 取球博弈(递推)
  • 总结

001 微生物繁殖(结果填空)

一、题目描述

假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。

二、题解

这题凭空想很难找到规律,很容易心烦意燥,如果你列举一下时间t、数量X、数量Y他们之间的数的关系表格,那么有可能很快找到答案,不过这题没有说在繁殖的时候能不能吃,呵呵.

时间 t X Y
0 10 90
0.5 10 90
1.0 10 80
1.5 10 150
2.0 10 140
2.5 10 140
3.0 20 130
3.5 20 110
4.0 20 220

核心规律: 这里的半分钟不好计算,整体(繁殖时间,吃饭时间)乘以 2

  • t%2==1 时,在下一个时间点,Y的数量都会减少X个

  • t%2==0 时,Y的数量加倍

  • t%3==0 时,X的数量加倍

public class Main{public static void main(String[] args) {int x=10, y1=89, y2=90;for (int t=0; t < 120; t++) {if(y2<=0) break;if(t%2==1)  y2-=x;if(t%4==0)  y2*=2;if(t%6==0)  x*=2;}System.out.println(y2);}
}

答案:94371840


002 古堡算式(结果填空)

一、题目描述

二、题解

答案:21978。单独写了一篇题解(含有题目) —> http://www.hoji.site/blog/53


003 海盗比酒量(结果填空)

一、题目描述

有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复… 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了

等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“…昨天,我正好喝了一瓶…奉劝大家,开船不喝酒,喝酒别开船…”

请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。
如果有多个可能的答案,请列出所有答案,每个答案占一行。

格式是:人数,人数,…例如,有一种可能是:20,5,4,2,0

二、题解

/*** @Author: Hoji(PAN先森)* @Description:* @Date: 11/22/2019 8:34 PM* @个人博客:https://www.hoji.site*/
public class Main {public static void main(String[] args) {for (int a = 20; a >= 0; a--)for (int b = a-1; b >= 0; b--)for (int c = b-1; c >= 0; c--)for (int d = c-1; d >= 0; d--)if(b*c*d+a*c*d+a*b*d+a*b*c == a*b*c*d)System.out.println(a + "," + b + "," + c + "," + d);}
}

答案:20,5,4,2,0、18,9,3,2,0、15,10,3,2,0、12,6,4,2,0


004 奇怪的比赛(结果填空)

一、题目描述

某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:

每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。

每位选手都有一个起步的分数为10分。

某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?

如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011就是可能的情况。

你的任务是算出所有可能情况。每个答案占一行。

二、题解

(1) 暴力破解

/*** @Author: Hoji(PAN先森)* @Date: 11/22/2019 9:06 PM* @个人博客:https://www.hoji.site*/
public class Main {public static void main(String[] args) {int a,b,c,d,e,f,g,h,i,j;int num=1;int score=10;for(j=0;j<2;j++)for(i=0;i<2;i++)for(h=0;h<2;h++)for(g=0;g<2;g++)for(f=0;f<2;f++)for(e=0;e<2;e++)for(d=0;d<2;d++)for(c=0;c<2;c++)for(b=0;b<2;b++)for(a=0;a<2;a++) {if(num==1) {if(a==1) score*=2;else score-=1;num++;}if(num==2) {if(b==1) score*=2;else score-=2;num++;}if(num==3) {if(c==1) score*=2;else score-=3;num++;}if(num==4) {if(d==1) score*=2;else score-=4;num++;}if(num==5) {if(e==1) score*=2;else score-=5;num++;}if(num==6) {if(f==1) score*=2;else score-=6;num++;}if(num==7) {if(g==1) score*=2;else score-=7;num++;}if(num==8) {if(h==1) score*=2;else score-=8;num++;}if(num==9) {if(i==1) score*=2;else score-=9;num++;}if(num==10) {if(j==1) score*=2;else score-=10;if(score==100)System.out.println(a+""+b+""+c+""+d+""+e+""+f+""+g+""+h+""+i+""+j+"");score=10;  // 恢复数据num=1;       // 同上}}}
}

(2) 递归

public class Main {private static int[] record = new int[11];/*** 不断试探,全0第一次走到尽头,肯定退一层递归,用1试探* @param num* @param score*/private static void dfs(int num, int score) {if(num == 11) {if(score == 100) {for (int i = 1; i < 11; i++) {System.out.print(record[i]);}System.out.println();return;}else return;}record[num]=0;dfs(num+1, score-num);record[num]=1;dfs(num+1, score*2);}public static void main(String[] args) {dfs(1, 10);}
}

答案:1011010000、0111010000、0010110011


005 转方阵(结果填空)

一、题目描述


006 大数乘法

一、题目描述


007 放棋子

一、题目描述


008 密码发生器

一、题目描述


009 夺冠概率

一、题目描述

假设有甲、乙、丙、丁四个球队。根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表:

   甲    乙   丙   丁
甲  -    0.1  0.3 0.5
乙  0.9  -    0.7 0.4
丙  0.7  0.3  -   0.2
丁  0.5  0.6  0.8 -

数据含义:甲对乙的取胜概率为0.1,丙对乙的胜率为0.3,…

现在要举行一次锦标赛。双方抽签,分两个组比,获胜的两个队再争夺冠军。

请你进行10万次模拟,计算出甲队夺冠的概率。

注意:请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分

二、题解

① 列举甲队获胜的情况:

  • p1:甲赢 乙 情况下,甲 win (winBetween (丙, 丁))
  • p2:甲赢 丙 情况下,甲 win (winBetween (甲, 乙))
  • p3:甲赢 丁 情况下,甲 win (winBetween (乙, 丙))

② 分布乘法、分类加法

③ random.nextInt(3):获取 [0~2] 范围内随机整数

④ 获取随机整数也可以定义一个方法,Math.random() 产生 (0~1) 之间的浮点数

public static int getRandom(int start, int end){return (int)(Math.random() * (end-start+1) + start);
}
public class B9_夺冠概率 {private static double[][] pro = {{1.0, 0.1, 0.3, 0.5},{0.9, 1.0, 0.7, 0.4},{0.7, 0.3, 1.0, 0.2},{0.5, 0.6, 0.8, 1.0}};public static void main(String[] args) {double[] p = new double[3];p[0]=pro[0][1]*(pro[2][3]*pro[0][2]+pro[3][2]*pro[0][3]);p[1]=pro[0][2]*(pro[1][3]*pro[0][1]+pro[3][1]*pro[0][3]);p[2]=pro[0][3]*(pro[1][2]*pro[0][1]+pro[2][1]*pro[0][2]);/*** 因为winChange有三种情况,所以随机数要对3取余得到[0,3)之间的数*/Random random = new Random();double sum=0; int j=0;for (int i = 0; i < 100000; i++) {j = random.nextInt(3);sum += p[j];}System.out.println(sum/100000);}
}

答案:0.075865(在0.076之间浮动)


010 取球博弈(递推)

一、题目描述


总结

题目 考察点
001.微生物增殖 (找规律)
002.古堡算式 (枚举)
003.海盗比酒量 (枚举)
004.奇怪的比赛 (暴力 / dfs)
005.转方阵
006.大数乘法
007.放棋子
008.密码发生器
009.夺冠概率
0010.取球博弈 (递推)

【省赛B组】2012年第三届蓝桥杯(解法通用)相关推荐

  1. 蓝桥杯java初赛本科组,2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题...

    这是2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题的完整版 2012第三届蓝桥杯软件大赛Java语言本科组初赛试题 (说明:1-4题为结果填空,5-7为程序填空,8-10为 ...

  2. 2012年第三届蓝桥杯省赛C语言B组

    2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...

  3. 2012年第三届蓝桥杯C/C++程序设计本科B组决赛 拼音字母(编程大题)

    2012年第三届蓝桥杯C/C++程序设计本科B组决赛题目汇总: http://blog.csdn.net/u014552756/article/details/51399827 拼音字母 在很多软件中 ...

  4. 2012 【第三届蓝桥杯省赛】 C/C++ B组

    目录 第一题:微生物增殖 第二题:古堡算式 第三题:海盗比酒量 第四题:奇怪的比赛 第五题:方阵旋转 第六题:大数乘法 第七题:放旗子 第八题:密码发生器 第九题:夺冠概率 第十题:取球博弈 第一题: ...

  5. 2012年第三届蓝桥杯C/CPP省赛B组古堡算式

    题目描述: 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生:&qu ...

  6. 2012年第三届蓝桥杯C/C++程序设计本科B组决赛

    1.星期几(取余/excel) 2.数据压缩 3.拼音字母(比较) 4.DNA比对(dp) 5.方块填数 1.星期几 [结果填空] (满分5分)     1949年的国庆节(10月1日)是星期六.  ...

  7. 2012年第三届蓝桥杯试题(C/C++本科B组)

    最后2题参考的大神的代码:http://wenku.baidu.com/link?url=LzyEK9IVOs6qUuMO8xIOxum3YI1O5s_j7pxuADeiuPM7jMm_40wMS1f ...

  8. 2012年第三届蓝桥杯C组 day11

    文章目录 1.微生物增殖 2.古堡算式 3.比酒量 4.奇怪的比赛 5.方阵转置 6.大数乘法 1.微生物增殖 假设有两种微生物X和Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一 ...

  9. 蓝桥杯c语言复赛试题,第三届蓝桥杯复赛题解析

    第三届蓝桥杯复赛题原题: http://www.cnblogs.com/AkQuan/archive/2012/04/10/2440370.html 第一题: 1 #include 2 intmain ...

最新文章

  1. python用户名密码登录、错误三次结束_Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定...
  2. fckeditor 数据库 取值 显示
  3. 和菜鸟一起学linux之DBUS基础学习记录
  4. cadence自动生成铺铜_干货 | 国内铜湿法冶金工艺现状分析
  5. 经验备忘2014年01月
  6. Android开发笔记(六十四)网页加载与JS调用
  7. 如何远程调试zookeeper集群
  8. 【Cocoa(mac) Application 开发系列之二】总结一些常用控件及自定义View
  9. 约瑟夫问题 c语言数组,约瑟夫问题的数组实现
  10. 计算机设置桌面文件夹,win10电脑怎么更改桌面文件夹路径
  11. 人工智能学习路线,文末赠书活动(深度学习Spark机器学习)
  12. 7z解压crc错误_rar文件解压缩失败解压末端出现错误的解决方法
  13. 怎么用u盘装红帽linux系统,如何使用U盘安装RedHat Linux系统?
  14. 论文笔记:MICCAI2018 Cell Detection with Star-convex Polygons
  15. php极光短信验证码,极光短信验证码验证问题
  16. 使用canvas 代码画小猪佩奇
  17. C语言实现埃拉托色尼筛选法(剔除数组中的非质数)
  18. printf 函数使用 可变参数函数实现原理
  19. 电脑网页打不开提示错误err connection怎么办?
  20. 做人要厚道,不要太冲

热门文章

  1. 陳三甲网络笔记:想要年赚30万,这些小道道你要知道(十五)
  2. linux filesystem not open,linux下出现repair filesystem解决办法
  3. 简单的python爬虫——豆瓣
  4. PyTorch框架学习(二) — 一文精通张量操作
  5. 神经网络:BP神经网络
  6. 记一次INFA抽取数据报 WRT_8165 - TIMEOUT_BASED_COMMIT_POINT错误
  7. RGB读取转为BGR显示
  8. python运行使用gpu运算【python基础】python开启GPU加速
  9. 【JS 函数】递归函数 之 arguments.callee
  10. 煤矿圆环链、接链环市场规模有多大?