#P1309. 计数排序
计数排序
Description
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=10000000;
const int maxs=10000;
int n;
unsigned a[maxn],b[maxn],res[maxn],ord[maxn];
unsigned cnt[maxs+1];
int main()
{
scanf("%d",&n);
for(int i=0;i<n;++i)
scanf("%d%d",&a[i],&b[i]);
memset(cnt,0,sizeof(cnt));
for(int i=0;i<n;++i)
______(1)______;//利用cnt数组统计数量
for(int i=0;i<maxs;i++)
cnt[i+1]+=cnt[i];
for(int i=0;i<n;i++)
______(2)_______;//记录初步排序结果
memset(cnt,0,sizeof(cnt));
for(int i=0;i<n;++i)
______(3)_______;//利用cnt数组统计数量
for(int i=0;i<maxs;i++)
cnt[i+1]+=cnt[i];
for(int i=n-1;i>=0;i--)
______(4)_______;//记录最终排序结果
for(int i=0;i<n;i++)
{
printf("%d %d\n",_______(5)_______);
}
}
Output Format
3 3 4 2 4 3 3
2 4
3 3
3 4