HDU 1100. Final Standings(快排)

题目链接

以前对快排不熟,不会搞结构体快排,今天正巧比赛里有这个题。。。秒杀了。。还是研究树形DP吧。。

 1 #include <stdio.h>

 2 #include <string.h>

 3 #include <stdlib.h>

 4 struct node

 5 {

 6     int x;

 7     int y;

 8     int id;

 9 }p[150001];

10 int cmp(const void *a,const void *b)

11 {

12     struct node *c = (struct node *)a;

13     struct node *d = (struct node *)b;

14     if(c->y!=d->y) return d->y-c->y;

15     else return c->id-d->id;

16 }

17 int main()

18 {

19     int n,i,sv,ev;

20     scanf("%d",&n);

21     for(i = 0;i <= n-1;i ++)

22     {

23         scanf("%d%d",&sv,&ev);

24         p[i].x = sv;

25         p[i].y = ev;

26         p[i].id = i;

27     }

28     qsort(p,n,sizeof(p[0]),cmp);

29     for(i = 0;i <= n-1;i ++)

30     {

31         printf("%d %d\n",p[i].x,p[i].y);

32     }

33     return 0;

34 }

 

你可能感兴趣的:(final)