李白打酒-----第五届蓝桥杯
来源:互联网 发布:java学完可以做什么 编辑:程序博客网 时间:2024/05/18 17:05
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
public class 李白打酒 {public static void main(String[] args) {long start = System.currentTimeMillis();int sum = 1 << 15;int jiu = 2;int a, b;int count = 0;char c[] = new char[15];// 设0表示a,1表示bfor (int i = 1; i < sum; i++) {a = 0;b = 0;jiu = 2;for (int j = 0; j <= 14; j++) {// 最后一次一定遇到的花if (((i >> 14) & 1) == 0)break;int temp = (i >> j) & 1;if (temp == 0) {if (a >= 5)// 路过的次数有着严格的限制break;jiu = jiu * 2;a++;c[j] = 'a';} else if (temp == 1) {if (b >= 10)break;jiu--;b++;c[j] = 'b';}if (jiu < 0)// 酒的数量是不可能是负数的break;}if (jiu == 0 && a == 5 && b == 10) {count++;print(new String(c));}}print("可能的方案有:" + count + "种");long end = System.currentTimeMillis();print("此程序运行,花费的时间是" + ((end - start) / 1000.0) + "秒.");}public static void print(Object o) {System.out.println(o.toString());}}
结果:
ababbbbbabababb
abbabbabbbababb
baababbbbbababb
abbabbbaabbbabb
abbbaabbabbbabb
baabbabbabbbabb
babaababbbbbabb
abbabbbabaabbbb
abbbaabbbaabbbb
baabbabbbaabbbb
abbbabaabbabbbb
baabbbaabbabbbb
babaabbabbabbbb
bababaababbbbbb
可能的方案有:14种
此程序运行,花费的时间是0.009秒.
0 0
- 李白打酒-----第五届蓝桥杯
- 第五届蓝桥杯初赛-李白打酒
- 第五届蓝桥杯—李白打酒
- 李白打酒(第五届蓝桥杯)
- 第五届李白打酒
- 第五届_李白打酒
- 蓝桥杯第五届 李白打酒
- 第五届蓝桥杯软件类省赛真题 Java本科A 李白打酒
- 2014年第五届蓝桥杯预赛题目之李白打酒
- 2014年第五届蓝桥杯预赛部分题目—李白打酒
- 山东省第五届蓝桥杯 ///标题:李白打酒//c/c++组
- 第五届蓝桥杯 软件类省赛真题 第六题:李白打酒
- 第五届蓝桥杯软件类省赛真题-JAVA-A-2_李白打酒
- 第五届蓝桥杯软件类省赛真题-Java高职-李白打酒
- 第五届蓝桥杯【省赛试题3】李白打酒
- 2014第五届蓝桥杯预赛试题本科c++李白打酒
- 李白打酒
- 李白打酒
- 精益生产管理有哪些内涵
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- java判断字符串是否为空的方法总结
- Python实现Daemon(守护)进程
- JAVA 类型转换学习记录
- 李白打酒-----第五届蓝桥杯
- Qt5:随窗口大小变化背景图片自动缩放的实现【转】
- S3C2440之LCD
- 细节--服务器mysql空密码
- PHP版的kindeditor编辑器加图片上传水印功能
- 关于java引用型变量赋值
- 绝对路径和相对路径
- Jenkins git plugin SSL验证修复
- mtk gpio模式