首页 > 其他分享 >蓝桥杯三天备考----枚举:卡片

蓝桥杯三天备考----枚举:卡片

时间:2023-04-05 11:45:06浏览次数:41  
标签:11 ---- 数字 卡片 拼出 卡牌 蓝桥 枚举 location

题目描述

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

小蓝有很多数字卡片,每张卡片上都是数字 0到 9。

小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从 1 拼到多少。

例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010,

但是拼 1111 时卡片 11 已经只有一张了,不够拼出 1111。

现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少?

提示:建议使用计算机编程解决问题。

解题思路:

建立一个从零到九的数组,每个数组大小为从零到九每种卡牌的数量,从一开始遍历,看每一位数字如果卡牌数量充足,就减一看下一位,直到遍历完整个数字,再看下一位数字,终止条件是当某一位数字的卡牌数量为零的时候,说明现有的卡牌数量已经拼不出这个数字了,输出上一位数字,因为题目要就是能够拼成的最大数字。

ps:一开始我不知道最大能拼出多大的数,后来发现如果拼出的最大数比循环上限高,则没有输出,低就有输出,也是一种解决方法。

#include<iostream>
#include<algorithm>
using namespace std;
int n,m,num[10];
int main(){
    for(int i = 0;i <=9;i ++){
        num[i] = 2021;
    }
    for(int i = 1;i <= 999999;i ++)
    {
        int t = i;
        while(t)
        {
            if(num[t%10] == 0)
            {
                cout << i -1;
                return 0;
            }
            num[t%10] --;
            t/=10;
        }
    }
    cout << 0;
    return 0;
    
} 

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:11,----,数字,卡片,拼出,卡牌,蓝桥,枚举,location
From: https://www.cnblogs.com/0237xixifusi/p/17289059.html

相关文章

  • git 使用过程中遇到问题
    [email protected]:Permissiondenied(publickey).fatal:Couldnotreadfromremoterepository.这个是说没有拉取权限,这个时候,就需要配置ssh-key先配置好账户/项目的SSH公钥gitconfig--globaluser.name"用户名称" gitconfig--glo......
  • Qt 6.5 LTS 正式发布
    Qt6.5LTS已正式发布。此版本为图形和UI开发者以及应用程序后端引入了许多新功能,还包含许多修复和通用的改进。Qt6.5将成为商业许可证持有者的长期支持(LTS)版本。部分更新亮点:改进主题和样式使用Qt6.5,应用程序能够便捷地支持Windows的深色模式。在macOS......
  • linux 中sed命令中的列的精确替换
     001、将ab替换为QQ(base)[b20223040323@admin2test2]$lsa.txt(base)[b20223040323@admin2test2]$cata.txt##测试数据snp1ab10720snp4abde3920snp5ab4010snp6eabx12230snp7cxab12600......
  • git merge 和 git rebase 的区别
    Git版本控制中,gitrebase和gitmerge这两个命令都可以用来集成从一个分支和另一个分支的更改。它们是两种不同的合并方法,本文将介绍它们的差异。gitrebase和gitmerge主要差异是什么?最近ChatGPT大火,请它来回答一下:Gitmerge将两个分支中的所有提交都合并到一起,并创建一......
  • Jenkins持续集成,接口测试报告发送企业微信
    一、前置条件已经安装Jenkins(361.1)已经安装jdk(jdk17)Jdk和Jenkins版本相互兼容二、启动Jenkins(注意不要关闭dos窗口)切换到Jenkins目录,输入命令:java-jarjenkins.war        2.dos窗口出现“Jenkinsisfullyupandrunning”表示启动成功   ......
  • 22年最新Java笔记:day5-Java流程控制语句
    更多内容欢迎关注上方专栏另有系统Java相关全部内容~⬇️笔记的回顾如下⬇️笔记包含知识点Java基础语法人机交互、Java以及发展史、主要特性、JRE和JDKJava-第二天注释、字面量、变量、数据类型、标识符、键盘录入Java-IDEA下载安装IDEA下载安装、中层级结构介绍、第一个代码、类、模......
  • JVM的垃圾收集算法
    介绍分代收集理论和几种垃圾收集算法的思想及其发展过程。分代收集理论当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(GenerationalCollection)的理论进行设计,分代收集名为理论,实质是一套符合大多数程序运行实际情况的经验法则,分代收集理论它建立在两个分代假说之上:弱......
  • 黑马程序员前端-CSS:溢出的文字省略号显示
    按照HTML+CSS的学习顺序笔记已经更新了28篇内容了,因为篇幅问题,请看文末。目录一、单行文本溢出显示省略号二、多行文本溢出显示省略号(了解即可)三、往期合集今天来学溢出文字省略号显示。一、单行文本溢出显示省略号单行文本溢出显示省略号必须满足三个条件:/*1.先强制一行内显示文......
  • Python装饰器与GIL锁解释
    Python进阶篇-系列文章全篇......
  • 接口收藏哦
    http://c.m.163.com/nc/article/headline/T1348647853363/0-40.html头条http://c.3g.163.com/nc/article/list/T1467284926140/0-20.html精选http://c.3g.163.com/nc/article/list/T1348648517839/0-20.html娱乐http://c.m.163.com/nc/auto/list/5bmz6aG25bGx/0-20.html汽车......