
#include<bits/stdc++.h>
using namespace std;
#define ll long long
map<char,int>mp;
struct shuzi
{
int geshu;
int shu;
}q[1005];
int cmp(int a,int b)
{
return a<b;
}
int main()
{
for(int i=0;i<=9;i++)
{
scanf("%d",&q[i].geshu);
q[i].shu=i;
}
int d;
for(int i=1;i<=9;i++)
{
if(q[i].geshu>0)
{
d=i;
break;
}
}
q[d].geshu--;
string s;
s+=(d+'0');
for(int i=0;i<=9;i++)
{
while(q[i].geshu)
{
s+=(i+'0');
q[i].geshu--;
}
}
cout<<s<<endl;
}
该博客主要展示了如何用C++编写代码,找到一个由1到9组成的数字序列的最短表示。程序首先读取每个数字出现的次数,然后找出第一个非零数字,将其添加到结果字符串中,接着按顺序添加其余数字直至所有数字都用完。这个过程确保了输出序列是最小化的。
1246

被折叠的 条评论
为什么被折叠?



