B

Age Sort

Input: Standard Input

Output: Standard Output

 

 

You are given the ages (in years) of all people of a country with at least 1 year of age. You know that no individual in that country lives for 100 or more years. Now, you are given a very simple task of sorting all the ages in ascending order.

 
Input

There are multiple test cases in the input file. Each case starts with an integer (0<n<=2000000), the total number of people. In the next line, there are integers indicating the ages. Input is terminated with a case where = 0. This case should not be processed.

 

Output

For each case, print a line with space separated integers. These integers are the ages of that country sorted in ascending order.

 

Warning: Input Data is pretty big (~  25 MB) so use faster IO.

Sample Input                             Output for Sample Input

5

3 4 2 1 5

5

2 3 2 3 1

0

1 2 3 4 5

1 2 2 3 3

Note: The memory limit of this problem is 2 Megabyte Only.


Problem Setter: Mohammad Mahmudur Rahman

Special Thanks: Shahriar Manzoor

 数据大,内存小,而数据值的范围有限,适合运用计数排序求解...

 代码:

 1 #include<cstdio>
 2 #include<cstring>
 3 /*计数排序*/
 4 int main()
 5 {
 6     int n,hash[101],val;
 7     while(~scanf("%d",&n)&&n)
 8     {
 9        memset(hash,0,sizeof(hash));
10        for(int i=0;i<n;i++)
11        {
12          scanf("%d",&val);
13          hash[val]++;
14        }
15        int flag=true;
16        for(int i=0; i<=100; i++)
17        {
18          for(int j=1;j<=hash[i];j++)
19          {
20              if(flag)
21              {
22                  printf("%d",i);
23                  flag=false;
24              }
25              else printf(" %d",i);
26          }
27        }
28        puts("");
29     }
30     return 0;
31 }
View Code

相关文章:

  • 2022-12-23
  • 2022-01-18
  • 2022-01-01
  • 2021-12-10
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-01
  • 2022-03-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2021-08-04
相关资源
相似解决方案