CODE[VS] 1487 大批整数排序

题目描述 Description

!!!CodeVS开发者有话说:

        codevs自从换了评测机,新评测机的内存计算机制发生变化

        计算内存的时候会包括栈空间 swap空间

        这题的2M是单指内存空间。。。

        十分十分抱歉

        抱歉

!!!

 

现在有一大批(总数不超过10000000个)1到10之间的整数,现在请你从小到大进行排序输出。

(测试数据将超过11MB。)

输入描述 Input Description

第一行表示将下排序的个数N;

第2行到最后一行,每行一个数,表示有待排序的数(均是1-10之间的数,含1和10)

(注:最后有一空行)

输出描述 Output Description

输出N个从小到大排列好的数,每行一个(注:最后有一空行)

样例输入 Sample Input

11
9
10
1
2
3
4
5
6
7
8
9

样例输出 Sample Output

1
2
3
4
5
6
7
8
9
9
10

数据范围及提示 Data Size & Hint

注意内存限制只有8MB

ps 因为评测机的内存限定是包括栈的,所以扩大了该题的内存限制

一开始没想出什么别的思路,

就想先交上一个快排看能拿多少,,

mle一个点。

,,

不就是优化空间吗,,

我居然在想滚动数组。。

真是zz。

然后,才10个数,

那就拿10个变量记一下呗。。

我感觉这就是一考察你思路,灵活度的题。。

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 using namespace std;
 7 
 8 int n,a;
 9 int x1,x2,x3,x4,x5,x6,x7,x8,x9,x10;
10 
11 int main()
12 {
13     scanf("%d",&n);
14     for(int i=1;i<=n;++i)
15     {
16         scanf("%d",&a);
17         if(a==1) x1++;
18         if(a==2) x2++;
19         if(a==3) x3++;
20         if(a==4) x4++;
21         if(a==5) x5++;
22         if(a==6) x6++;
23         if(a==7) x7++;
24         if(a==8) x8++;
25         if(a==9) x9++;
26         if(a==10) x10++;
27     }    
28     for(int i=1;i<=x1;++i)
29         printf("1
");
30     for(int i=1;i<=x2;++i)
31         printf("2
");
32     for(int i=1;i<=x3;++i)
33         printf("3
");
34     for(int i=1;i<=x4;++i)
35         printf("4
");
36     for(int i=1;i<=x5;++i)
37         printf("5
");
38     for(int i=1;i<=x6;++i)
39         printf("6
");
40     for(int i=1;i<=x7;++i)
41         printf("7
");
42     for(int i=1;i<=x8;++i)
43         printf("8
");
44     for(int i=1;i<=x9;++i)
45         printf("9
");
46     for(int i=1;i<=x10;++i)
47         printf("10
");
48     return 0;
49 }

如果你不开心,那我就把右边这个帅傻子分享给你吧,


你看,他这么好看,那么深情的望着你,你还伤心吗?


真的!这照片盯上他五秒钟就想笑了。


一切都会过去的。

原文地址:https://www.cnblogs.com/Mary-Sue/p/9424438.html