vijos 1816

map。

map<int,int>::iterator表示一个从int映射到int的map的迭代器(可以当成是一个指针)。

由于map中是有序的,所以直接按顺序输出即可。

#include<cstdio>
#include<cctype>
#include<map>
#include<algorithm>
using namespace std;
int read(){
    char c; while(!isdigit(c=getchar())); int x=c-'0';
    while(isdigit(c=getchar())) x=x*10+c-'0'; return x;
}
map<int,int> m;
int main(){
    int n=read();
    for(int i=1;i<=n;i+=1) m[read()]++;
    for(map<int,int>::iterator i=m.begin();i!=m.end();++i)
        printf("%d %d\n",i->first,i->second);
    return 0;
}

 

posted @ 2017-10-27 09:57  或是七一  阅读(64)  评论(0编辑  收藏  举报