题目描述
快递公司的某站点收到了很多件物品,快递员会给每类物品贴上一个数字标签,同一类物品的数字标签相同,以便自动化处理。
现在一批物品标签都贴完之后,快递员想请你帮他统计这些物品总共有多少类,每类物品各有多少件。
输入格式
第一行包含一个正整数n,表示物品的个数;
第二行包含n个正整数,表示快递员在物品上所贴标签的数字,两两之间用一个空格分隔。
输出格式
第一行包含一个正整数m,接下来的m行,每行包含两个数,用一个空格分隔,第一个数表示代表分类的数字xi,第二个数字表示分类编号为xi的物品的个数。
样例输入
10
2 3 1 12 3 8 8 2 2 2
样例输出
5
1 1
2 4
3 2
8 2
12 1
问题提示
1<n<10,000, 1≤xi≤1000。
程序如下
#include<iostream>
using namespace std;
int a[1005];
int main()
{
int n,i,x,cnt = 0
;
cin>>n;
for(i = 1; i <= n; i++)
{
cin>>x;
a[x]++;
}
for(i = 0; i <= 1000; i++)
{
if(a[i] != 0)
{
cnt++;
}
}
cout<<cnt<<endl;
for(i = 1; i <= 1000; i++)
{
if(a[i] != 0)
{
cout<<i<<" "<<a[i]<<endl;
}
}
}
————————————————