#include<stdio.h>
#include<string.h>
int main()
{
char a[1005];
int i,j,k,l;
char b[1005][1000];
int flag;
int ans;
char temp[9];
while(scanf("%s",a)!=EOF)
{
memset(b,'\0',sizeof(b));
if(a[0]=='5')
{
for(j=1; ;j++)
if(a[j]!='5')
{
flag=j;
break;
}
}
j=k=0;
for(i=(a[0]=='5'?flag:0);a[i]!='\0';i++)
{
if(a[i]=='5')
{
for(l=i; ;l++,i++)
{
if(a[l]!='5')
{
i--;
break;
}
}
if(a[i+1]!='\0')
{
b[j][k]='\0';
j++;
k=0;
}
else
{
b[j][k]='\0';
}
}
else
{
b[j][k]=a[i];
k++;
}
}
j++;
for(i=0;i<j;i++)
{
if(b[i][0]=='0')
{
for(k=1;b[i][k]!='\0';k++)
if(b[i][k]!='0') break;
if(b[i][k]!='\0')
strcpy(b[i],&b[i][k]);
else strcpy(b[i],"0");
}
}
ans=j;
for(i=0;i<ans;i++)
{
flag=0;
for(j=0;j<ans-1;j++)
{
if((strlen(b[j])==strlen(b[j+1]) && strcmp(b[j],b[j+1]) > 0 ) || (strlen(b[j])>strlen(b[j+1])) )
{
strcpy(temp,b[j]);
strcpy(b[j],b[j+1]);
strcpy(b[j+1],temp);
flag=1;
}
}
if(flag==0) break;
}
for(i=0;i<ans-1;i++)
printf("%s ",b[i]);
printf("%s\n",b[ans-1]);
}
return 0;
}
hdu 1106
最新推荐文章于 2020-09-06 11:14:43 发布