2016 蓝桥杯国赛 JAVA B组第三题 打靶
来源:互联网 发布:linux查看目录权限 编辑:程序博客网 时间:2024/05/21 08:52
打靶
小明参加X星球的打靶比赛。
比赛使用电子感应计分系统。其中有一局,小明得了96分。
这局小明共打了6发子弹,没有脱靶。
但望远镜看过去,只有3个弹孔。
显然,有些子弹准确地穿过了前边的弹孔。
不同环数得分是这样设置的:
1,2,3,5,10,20,25,50
那么小明的6发子弹得分都是多少呢?有哪些可能情况呢?
下面的程序解决了这个问题。
仔细阅读分析代码,填写划线部分缺失的内容。
public class Main
{
static void f(int[] ta, int[] da, int k, int ho, int bu, int sc)
{
if(ho<0 || bu<0 || sc<0) return;
if(k==ta.length){
if(ho>0 || bu>0 || sc>0) return;
for(int i=0; i<da.length; i++){
for(int j=0; j<da[i]; j++)
System.out.print(ta[i] + " ");
}
System.out.println();
return;
}
for(int i=0; i<=bu; i++){
da[k] = i;
f(ta, da, k+1, __________________ , bu-i, sc-ta[k]*i); // 填空位置
}
da[k] = 0;
}
public static void main(String[] args)
{
int[] ta = {1,2,3,5,10,20,25,50};
int[] da = new int[8];
f(ta, da, 0, 3, 6, 96);
}
}
注意:只填写划线处缺少的内容,不要填写已有的代码或符号,也不要填写任何解释说明文字等。
f()的参数列表有点长,然而第一个数组显而易见,最后四个参数分别为0, 3, 6, 96。那么不出意外96应该为最后的分数,6为打了6发子弹,根据递归的方法,k应该为递归的层数,那么,就只剩ho和da[],根据题目描述,实在找不出多少个数字3(3个弹孔。六发子弹留了3个孔,6-3)。所以我暂时猜测ho为已有的弹孔数量,发现结果不对,再猜测ho为重复命中已有弹孔的次数,而da[]的长度为8,等于ta[]记录分数数组的长度,且方法中的两个循环输出只输出6个值,所以da[]中应该有的值为0;在这里也暂时猜测da记录ta中各个分数命中的次数。
那么就有填空的答案:
i<=1?ho:ho+1-i
运行下,输出
3 3 20 20 25 25
2 2 2 20 20 50
1 10 10 25 25 25
结果正确!
答案:
package 总决赛;public class 打靶 {// 设置的环数 0 3 6 96static void f(int[] ta, int[] da, int k, int ho, int bu, int sc)// 3个弹孔 6发子弹{if(ho<0 || bu<0 || sc<0) return;if(k==ta.length){//递归的层数if(ho>0 || bu>0 || sc>0) return;for(int i=0; i
- 2016 蓝桥杯国赛 JAVA B组第三题 打靶
- 打靶蓝桥杯-2016年java-B组决赛
- 蓝桥杯java第七届决赛第三题--打靶
- 第七届蓝桥杯决赛JavaB组第三题_打靶
- 第七届 蓝桥杯决赛 Java B组 打靶 解题报告(DFS,回溯,全排列)
- 第八届蓝桥杯国赛Java b组 第三题
- 2016届蓝桥杯省赛B组第三题
- 打靶
- 打靶
- 2016蓝桥杯C语言B组第三题
- JZOJ 7.10B组第三题 创世纪
- JZOJ 7.9 B组第三题 treecut
- 第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)
- 显示二叉树--第六届蓝桥杯国赛JAVA B组第三题
- 第七届蓝桥杯大赛个人赛省赛(软件类)java语言B组第三题:凑算式
- 第三届信息技术大赛Java组B卷答案
- 第三届蓝桥杯预赛java组第三题
- 2016蓝桥杯A组java第三题
- script标签的defer和async属性
- WUST OJ 1966: 整数转换
- HDU6063 RXD and math 快速幂
- js字符串
- Java Thread的一个计时器 备忘
- 2016 蓝桥杯国赛 JAVA B组第三题 打靶
- 使用flex和bison创建过滤器
- hdu 1536 S-Nim
- WeakSet
- ansible
- python学习-面向对象进阶之装饰器(十)
- python 类
- 数组2
- Docker修改空间大小