fork download
  1. #include<stdio.h>
  2.  
  3. void bbh(int a[],int n);
  4. int main()
  5. {
  6. int n,i;
  7. scanf("%d",&n);
  8. int a[10000];
  9. for( i=0;i<n;i++)
  10. {
  11. scanf("%d",&a[i]);
  12. }
  13. bbh(a,n);
  14.  
  15. }
  16. void bbh(int a[],int n)
  17. {
  18. int i,j,k=1,m=0,b[10000];
  19. for(i=0;i<n-1;i++)
  20. {
  21. for(j=i+1;j<n;j++)
  22. {
  23. if(a[i]>a[j])
  24. {
  25. int temp=a[i];
  26. a[i]=a[j];
  27. a[j]=temp;
  28. }
  29. }
  30. }
  31. for(i=0;i<n;i=i+k)
  32. {
  33. k=1;
  34. for(j=i+1;j<n;j++)
  35. {
  36. if(a[i]==a[j])
  37. {
  38. k++;
  39. if(j==n-1)
  40. {
  41. if(k>1)
  42. {
  43. if(a[i]==2&&k==2)
  44. {
  45. b[m]=a[i];
  46. m++;
  47. }
  48. else
  49. {
  50. b[m]=a[i];
  51. b[m+1]=k;
  52. m+=2;
  53. }
  54. }
  55. else
  56. {
  57. b[m]=a[i];
  58. m++;
  59. }
  60. }
  61. }
  62. else
  63. {
  64. if(k>1)
  65. {
  66. if(a[i]==2&&k==2)
  67. {
  68. b[m]=a[i];
  69. m++;
  70. }
  71. else
  72. {
  73. b[m]=a[i];
  74. b[m+1]=k;
  75. m+=2;
  76. }
  77. }
  78. else
  79. {
  80. b[m]=a[i];
  81. m++;
  82. }
  83. break;
  84. }
  85. }
  86. }
  87. if(m<n)
  88. {
  89. bbh(b,m);
  90. }
  91. else
  92. {
  93. for(i=0;i<m;i++)
  94. {
  95. printf("%d",b[i]);
  96. }
  97. }
  98.  
  99. }
Success #stdin #stdout 0s 9496KB
stdin
5 1 2 2 2 1
stdout
Standard output is empty