bzoj 2761 题解

来源:互联网 发布:编程猫的网址 编辑:程序博客网 时间:2024/05/16 01:51

cgh的水题.

两次sort出结果

Code:

/**************************************************************    Problem: 2761    User: wohenshuai    Language: C++    Result: Accepted    Time:1064 ms    Memory:9948 kb****************************************************************/ #include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>using namespace std;struct node{  int x,id;}a[1110000];bool Cmp1(node x,node y){  if(x.x!=y.x) return x.x<y.x;  else return x.id<y.id;}bool Cmp2(node x,node y){  return x.id<y.id;}int main(){  int t; scanf("%d",&t);  while(t--)  {    int n; scanf("%d",&n);    for(int i=1;i<=n;i++)    {      scanf("%d",&a[i].x);      a[i].id=i;    }    sort(a+1,a+n+1,Cmp1);    for(int i=1;i<=n;i++)    {      if(a[i].x==a[i+1].x)        a[i+1].id=-1;    }    sort(a+1,a+n+1,Cmp2);    int tim=0;    for(int i=1;i<=n;i++)    {      if(a[i].id!=-1&&tim==0)      {        printf("%d",a[i].x);        tim=1;      }      else if(a[i].id!=-1)        printf(" %d",a[i].x);    }    printf("\n");  }  return 0;}


0 0
原创粉丝点击