UVA11462年龄排序
2014-12-30 17:15
232 查看
题意:
给你200w个人的年龄,年龄的范围是1-100,然后让你从小到大排序输出所有人的年龄,题目还特意强调输入文件限制25MB,题目内存限制2MB.
思路:
比较经典又简单的一个题目了,很早以前就见过了,我们可以开一个数组num[101]的,每来一个年龄a我们就num[a]++,最后输出num[1]个1,num[2]个2...就行了。
#include<stdio.h>
#include<string.h>
int num[105];
int main ()
{
int n ,i ,a;
while(~scanf("%d" ,&n) && n)
{
memset(num ,0 ,sizeof(num));
for(i = 1 ;i <= n ;i ++)
{
scanf("%d" ,&a);
num[a] ++;
}
int mk = 0;
for(i = 1 ;i <= 100 ;i ++)
{
while(num[i]--)
{
if(!mk) printf("%d" ,i);
else printf(" %d" ,i);
mk = 1;
}
}
printf("\n");
}
return 0;
}
给你200w个人的年龄,年龄的范围是1-100,然后让你从小到大排序输出所有人的年龄,题目还特意强调输入文件限制25MB,题目内存限制2MB.
思路:
比较经典又简单的一个题目了,很早以前就见过了,我们可以开一个数组num[101]的,每来一个年龄a我们就num[a]++,最后输出num[1]个1,num[2]个2...就行了。
#include<stdio.h>
#include<string.h>
int num[105];
int main ()
{
int n ,i ,a;
while(~scanf("%d" ,&n) && n)
{
memset(num ,0 ,sizeof(num));
for(i = 1 ;i <= n ;i ++)
{
scanf("%d" ,&a);
num[a] ++;
}
int mk = 0;
for(i = 1 ;i <= 100 ;i ++)
{
while(num[i]--)
{
if(!mk) printf("%d" ,i);
else printf(" %d" ,i);
mk = 1;
}
}
printf("\n");
}
return 0;
}
相关文章推荐
- 第一章例题17年龄排序学UVa11462(内存受限问题,计数排序)
- ( 设计高效算法 ) 年龄排序 Age Sort Uva 11462
- UVa 11462 年龄排序 (计数排序及IO优化)
- uva11462 - Age Sort(年龄排序)
- 水题,优化,高效(年龄排序,uva 11462)
- 年龄排序(Uva 11462)
- uva 11462 基数排序
- UVa Age Sort 11462(排序技巧)
- UVA11462——排序——Age Sort
- UVa 10152 - ShellSort 龟壳排序
- uva 400 Unix ls 文件输出排版 排序题
- [UVA 10905] Children's Game:贪心,排序
- uva 400 Unix ls 文件输出排版 排序题
- 一个公司员工年龄统计并排序
- 员工年龄排序
- UVA10194 Football (aka Soccer) 排序
- uva146(排序)
- UVa 11292 - Dragon of Loowater(排序贪心)
- UVALive Problem 7073 Song Jiang's rank list(排序)——2014ACM/ICPC亚洲区广州站
- 紫书章六例题15 给任务排序 UVA 10305(拓扑排序)