蓝桥杯官网填空题(骰子迷题)

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明参加了少年宫的一项趣味活动:每个小朋友发给一个空白的骰子(它的 

6 个面是空白的,没有数字),要小朋友自己设计每个面写哪个数字。但有如下要求:

  1. 每个面只能填写 0 至  8 中的某一个数字。
  2. 不同面可以填写同样的数字,但 6 个面总和必须等于 24 。

填好后,小朋友可以用自己填写好数字的骰子向少年宫的两个机器人挑战----玩掷骰子游戏。规则如下:

三方同时掷出自己的骰子,如果出现任何相同的数字,则三方都不计分。

如果三方数字都不同,则最小数字一方扣  1 分,最大数字一方加  1 分。

小明看到了两个机器人手中的骰子分别是:

0 0 0 8 8 8 
1 1 4 5 6 7

请你替小明算一下,他如何填写,才能使自己得分的概率最大。

请输出小明应该填写的  6 个数字,按升序排列,数字间用一个空格分开。

如果认为有多个答案,提交字母序最小的那个方案。

运行限制

java">import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    static int[] j1=new int[] {0,0,0,8,8,8};
	static int[] j2=new int[] {1,1,4,5,6,7};
	static int[] a=new int[6];
	static int[] b=new int[6];
	static int ans=0;
	static int max=Integer.MIN_VALUE;
	public static void main(String[] args) {
        dfs(0,0);
        for(int i=0;i<5;i++) {
        	System.out.printf(b[i]+" ");
        }
        System.out.print(b[5]);
	}
	public static void dfs(int n,int sum) {
		if(sum>24) {
			return;
		}
		if(n>5) {
			int count = 0;
			if(sum==24) {
				count=game();
			}
			if(count>max) {
				max=count;
				for(int i=0;i<6;i++) {
					b[i]=a[i];
				}
			}
			return;
		}
		for(int i=0;i<=8;i++) {
			a[n]=i;
			dfs(n+1,sum+i);
		}
	}
	public static int game() {
		int ans=0;
		for(int i=0;i<6;i++) {
			for(int j=0;j<6;j++) {
				for(int k=0;k<6;k++) {
					if(a[k]>j1[i]&&a[k]>j2[j]) {
						ans++;
					}
					if(a[k]<j1[i]&&a[k]<j2[j]) {
						ans--;
					}
				}
			}
		}
		return ans;
	}
}

    • 最大运行时间:1s
    • 最大运行内存: 128M

http://www.niftyadmin.cn/n/5340140.html

相关文章

Kotlin协程的JVM实现源码分析(下)

协程 根据 是否保存切换 调用栈 &#xff0c;分为&#xff1a; 有栈协程&#xff08;stackful coroutine&#xff09;无栈协程&#xff08;stackless coroutine&#xff09; 在代码上的区别是&#xff1a;是否可在普通函数里调用&#xff0c;并暂停其执行。 Kotlin协程&…

每日一题——LeetCode1299.将每个元素替换为右侧最大元素

方法一 个人方法&#xff1a; 题目意思就是求在i1;i的循环条件下&#xff0c;arr[i]-arr[arr.length-1]的最大值分别为多少&#xff0c;最后一项默认为-1 用slice方法可以每次把数组第一位去除&#xff0c;得到求最大值的目标数组 Math的max方法可以直接返回数组里的最大值 …

DC-5靶机做题记录

靶机下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1aZRB-hqvqLlGUmAPFljnIA?pwdelxg 提取码&#xff1a;elxg 参考&#xff1a; DC5官方地址&#xff1a;https://www.vulnhub.com/entry/dc-5,314/DC5靶机地址&#xff1a;https://download.vulnhub.com/d…

【松叶漫话】程序员裁员潮:如何面对技术变革下的职业危机

一对来自中国的工程师夫妻在美身亡&#xff0c;疑因谷歌裁员致悲剧发生。在技术变革下&#xff0c;裁员对于程序员的影响到底有多大&#xff1f;一起来聊聊吧~ 方向一&#xff1a;技术变革 当前的技术变革涵盖了多个方面&#xff0c;其中一些主要趋势包括人工智能&#xff08;…

3、git实战操练

1、马上要封包上线了&#xff0c;如何将这个版本的代码封存。 命令操作/含义git tagtag的创建&#xff0c;推到服务器git archive对源码进行打包 $ git archive master --formatzip --output master.zip 2、 明天就是上线日期&#xff0c;今天合并你已经做完的几个关联性不大…

docker容器快速安装启动ES

1、安装 docker a、使用 Homebrew 安装 brew install --cask --appdir/Applications docker b、手动下载安装 1、安装包下载地址&#xff1a;Install Docker Desktop on Mac | Docker Docs 根据自己的笔记本型号选择&#xff0c;我这边选择的是 intel chip 2、下载安装即可&a…

VRRP6协议--负载均衡配置

VRRP6负载均衡 VRRP6负载均衡指的是创建多个备份组,多个备份组同时承担数据转发的任务,对于每一个备份组,都有自己的Master和若干Backup设备。 VRRP6负载分担与VRRP6主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP6备份组,都包含一个Master设备和若干Ba…

酷开科技 | 酷开系统“新客厅经济”,重塑家庭娱乐新生态

在科技不断发展的今天&#xff0c;客厅已不再仅仅是传统意义上的家庭聚会空间&#xff0c;而是逐渐演变成了集娱乐、教育、办公等功能于一体的智能生活空间。酷开科技依托酷开系统&#xff0c;正是推动这一转变的重要力量&#xff0c;通过构建“新客厅经济”&#xff0c;重塑家…