參貳壹真是太好吃了!
現在有一連串由1、2、3這三個數字組成的數列,
請你把他們由小到大排好好嗎?
輸入說明 :
本題有2個測資點,每個50分,每個測資點只有一組測資。
第一行有整數n(1<=n<=1000000)代表接下來的數列有幾個數字
第二行就是這n個包含1、2、3的數字
輸出說明 :
對於每組測資,請輸出一行由小到大1~3排好的結果。
範例輸入 :
9
1 1 1 2 2 3 3 3 2
範例輸出 :
1 1 1 2 2 2 3 3 3
提示 :
背景知識: 陣列
對於兩個測資點…
第一個測資點(50%)的n是3的倍數,並且1、2、3這三種元素的數量均等
第二個測資點(50%)正常
程式碼 :
#include <stdio.h>
int main()
{
int i,j,n,num,arr[4];
while(scanf("%d",&n)==1)
{
for(i=1;i<4;i++)
arr[i] = 0;
for(i=0;i<n;i++)
{
scanf("%d",&num);
arr[num]++;
}
for(i=1;i<4;i++)
{
num = arr[i];
for(j=0;j<arr[i];j++)
printf("%d ",i);
}
printf("\n");
}
return 0;
}
http://zerojudge.tw/ShowProblem?problemid=d587
沒有留言:
張貼留言