题目:给出 a,b,c 3 种字符的数量,要求你用它们组成一个字符串,满足三种字符连续长度都尽可能小,请你输出这样一种字典序最小的构造。
我的程序(保龄了):
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<vector>
#include<map>
using namespace std;
int main()
{
long long i,j,a,b,c,s,y;
cin>>a>>b>>c;
s=a/(b+c);
y=a-s*(b+c);
if(s>=y)
{
for(i=1;i<=b;i++)
{
for(j=1;j<=s;j++) cout<<'a';
cout<<'b';
}
for(i=1;i<=c;i++)
{
for(j=1;j<=s;j++) cout<<'a';
cout<<'c';
}
for(i=1;i<=y;i++) cout<<'a';
}
if(s<y)
{
for(i=1;i<=b;i++)
{
for(j=1;j<=s;j++) cout<<'a';
if(y>0) cout<<'a',y--;
cout<<'b';
}
for(i=1;i<=c;i++)
{
for(j=1;j<=s;j++) cout<<'a';
if(y>0) cout<<'a',y--;
cout<<'c';
}
}
return 0;
}
显示我错的一组数据: 16 7 6
答案:aabaababababababacacacacacaca
我的回答:aabaabaabababababacacacacacac
我直接就是一个黑人问号,我的字典序比他小多了好吧。