题目:
输入输出要求:
源代码:
#include <stdio.h>
int find(int a[],int n){
int x=0;
for(int i=0;i<n;i++)
{
if(a[i]!=0)
x++;
}
return x;
}
int main()
{
int n;
scanf("%d",&n);
int a[n];
int s[n][101];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int flag[n];
for(int i=0;i<n;i++)
flag[i]=a[i]*10;
int m=1;
while(find(flag,n))
{
for(int i=0;i<n;i++)
{
if(find(flag,n)!=1)
{
if(flag[i]!=0)
{
s[i][a[i]*10-flag[i]]=m++;
flag[i]--;
}
}
else
{
if(flag[i]!=0)
{
s[i][a[i]*10-flag[i]]=m++;
flag[i]--;
m++;
}
}
}
}
for(int i=0;i<n;i++)
{
printf("#%d\n",i+1);
for(int j=0;j<(a[i]*10);j++)
{
printf("%d",s[i][j]);
if((j+1)%10==0)
printf("\n");
else
printf(" ");
}
}
return 0;
}