參貳壹真是太好吃了!
現在有一連串由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
沒有留言:
張貼留言