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\n"); 30 for(int i=1;i<=x2;++i) 31 printf("2\n"); 32 for(int i=1;i<=x3;++i) 33 printf("3\n"); 34 for(int i=1;i<=x4;++i) 35 printf("4\n"); 36 for(int i=1;i<=x5;++i) 37 printf("5\n"); 38 for(int i=1;i<=x6;++i) 39 printf("6\n"); 40 for(int i=1;i<=x7;++i) 41 printf("7\n"); 42 for(int i=1;i<=x8;++i) 43 printf("8\n"); 44 for(int i=1;i<=x9;++i) 45 printf("9\n"); 46 for(int i=1;i<=x10;++i) 47 printf("10\n"); 48 return 0; 49 }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。