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

卡片 -蓝桥 -java

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

卡片 -蓝桥 -java

卡片


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


题目描述:

小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1 拼到多少。 例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10, 但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。 现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少? 提示:建议使用计算机编程解决问题


0~9每种卡牌各2021张,求出能从1开始拼 能拼到多少


emmmmmmm

暴力求解

每次填充一个数时 该数的每位各用一张牌去填充
如果这种牌无法填充了, 那么就是表示这个数无法填充

答案也就是能填充到最后的数 -1


import java.io.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		int cnt[] = new int[10];
		Arrays.fill(cnt, 2021);

		int pos = 1;
		while (true)
		{
			int res = pos;
			while (res > 0)
			{
				int x = res % 10;
				if (cnt[x] > 0)
					cnt[x]--;
				else
					break;
				res /= 10;
			}
			if (res != 0)
				break;
			pos++;
		}
		out.println(pos - 1);

		out.flush();
		out.close();
	}

	static Scanner sc = new Scanner(System.in);
	static PrintWriter out = new PrintWriter(System.out);
}

fill
fill


如果有说错的 或者 不懂的 尽管提 嘻嘻

一起进步!!!


闪现

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

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

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