BZOJ 2761 不重复数字 (Hash)

题解:直接使用STL中的hash去重即可

#include <cstdio>
#include <map>
using namespace std;
int ans[50010];
int main(){
    int T,n,tmp;
    scanf("%d",&T);
    while(T--){
        int cnt=0; map<int,int>m;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%d",&tmp);
            if(!m[tmp])ans[cnt++]=tmp,m[tmp]=1;
        }
        for(int i=0;i<cnt-1;i++)printf("%d ",ans[i]);
        printf("%d\n",ans[cnt-1]);
    }
    return 0;
}
posted @ 2014-07-17 08:45  forever97  阅读(245)  评论(0编辑  收藏  举报