您的位置:首页 > 其它

UVA 11462 - Age Sort

2014-01-07 17:24 351 查看
B
Age Sort
Input: Standard Input
Output: Standard Output


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

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

Output

For each case, print a line with n spaceseparated integers. These integers are the ages of that country sorted inascending order.

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

SampleInput Outputfor 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

排序

#include <cstdio>
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>
#include <string>
#include <queue>
#include <set>

using namespace std;

#ifdef WIN
typedef __int64 LL;
#define iform "%I64d"
#define oform "%I64d\n"
#else
typedef long long LL;
#define iform "%lld"
#define oform "%lld\n"
#endif

const int INF = 0x3f3f3f3f;
const int maxn = 100 + 10;

int readInt() {
int res = 0;
int k = 1;
char c = getchar();
while(!(('0'<=c && c<='9') || (c=='-'))) c = getchar();
if(c == '-') {
k = -1;
c = getchar();
while(!('0'<=c && c<='9')) c = getchar(); //是否允许有空格
}
while('0'<=c && c<='9') {
res = res * 10 + c - '0';
c = getchar();
}
return k>0 ? res : -res;
}

int cnt[maxn];

int main() {
int n;

while(scanf("%d", &n) !=EOF && n) {
memset(cnt, 0, sizeof(cnt));
for(int i=0; i<n; i++) {
int t = readInt();
cnt[t]++;
}
int first = 1;
for(int i=0; i<maxn; i++) if(cnt[i] > 0) {
for(int j=0; j<cnt[i]; j++) {
if(!first) printf(" ");
printf("%d", i);
first = 0;
}
}
printf("\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: