栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2020年蓝桥杯省赛javab组分类计数和分配口罩

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2020年蓝桥杯省赛javab组分类计数和分配口罩

1.分类计数,一般对于代码第一题必须做出来!!!!在这个题中有个点需要注意:next()方法和nextLine的区别。

next:只会读取字符,包括空格,Tab键,Enter都会作为它结束的标志,所以这道题在输入时不能用next()

nextLine():只有Enter为它结束的标志。

2.分配口罩

思路:根据全排类把所有可能分配的情况全部列出来,然后在这里边找到最小的,所以就能想到用dfs,全排列

全排列有三个关键的步骤 1.找出截至的条件,要使两个医院的口罩值相差最小,则肯定是一个医院口罩大于总口罩的一半,一个小于

2.遍历节点

3.恢复初始状态

!!!!要注意要把min的值初值要变成Integer.MAX_VALUE;

package Demo;

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class 分配口罩 {
	static int [] a = new int[]{9090400,
			 8499400,
			 5926800,
			 8547000,
			 4958200,
			 4422600,
			 5751200,
			 4175600,
			 6309600,
			 5865200,
			 6604400,
			 4635000,
			 10663400,
			 8087200,
			 4554000};
	static int sum=0;
	static double min=Integer.MAX_VALUE;
	static boolean f[] = new boolean[a.length];
	public static void main(String[] args) { 
	 for(int i= 0;i=sum/2) {
			min=Math.min(min,Math.abs(sum-i*2));
			return;
		}
		for(int j=0;j

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755127.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号