题解
2023-08-10 16:17:57
发布于:浙江
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct Node{
int num;
int flag = 0;
};
int n;
int main()
{
cin>>n;
Node s[n+1];
vector<int>a[n+1];
int maxn=0;
for(int i=1;i<=n;i++)
{
int number;
cin>>number;
s[i].num=number*10;
if(maxn<s[i].num)
maxn=s[i].num;
}
int fl=n;
int now=0;
for(int i=1;i<=maxn;i++)
{
for(int j=1;j<=n;j++)
{
if(s[j].num==0&&s[j].flag==0)
{
s[j].flag=1;
fl--;
continue;
}
else if(s[j].num!=0)
{
if(fl==1)
now+=2;
else
now++;
s[j].num--;
a[j].push_back(now);
}
}
}
for(int i=1;i<=n;i++)
{
cout<<"No."<<i<<endl;
for(int j=0;j<a[i].size();j++)
{
if((j+1)%10==0)
cout<<a[i][j]<<endl;
else
cout<<a[i][j]<<" ";
}
}
return 0;
}
这里空空如也
有帮助,赞一个