大家好,又见面了,我是你们的朋友全栈君。
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝有很多数字卡片,每张卡片上都是数字 0到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1 拼到多少。 例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 11 到 1010, 但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。 现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少? 提示:建议使用计算机编程解决问题
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
这题暴力就完事了,纯纯的模拟,不过注意边界条件是-1而不是0:
#include <bits/stdc++.h>
using namespace std;
vector<int> num(2020,2021);
bool check(int n)
{
while(n)
{
num[n%10]--;
if(num[n%10]==-1) return false;
n/=10;
}
return true;
}
int main()
{
// 请在此输入您的代码
int ans=1;
while(check(ans))
{
ans++;
}
cout<<ans-1;
// cout<<3181;
return 0;
}
答案是3181
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126489.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...