Advertisement
nontawat1996

1031

Nov 23rd, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int layer[100001][2]={0},k,m,n;
  4. int sc[10005]={0};
  5. int cmp(const void *a,const void *b)
  6. {
  7.     int *aa=(int*)a;
  8.     int *bb=(int*)b;
  9.     if(aa[0]>bb[0]) return 1;
  10.     else if(aa[0]==bb[0] && aa[1]>bb[1]) return 1;
  11.     else return -1;
  12. }
  13. int main()
  14. {
  15.     int i,total;
  16.     scanf("%d%d%d",&k,&n,&m);
  17.     for(i=0;i<m;i++)
  18.     {
  19.        scanf("%d%d",&layer[i][0],&layer[i][1]);
  20.     }
  21.     qsort(layer,m,sizeof(layer[0]),cmp);
  22.     for(i=0;i<m;i++)
  23.     {
  24.         if(layer[i][0]>1)
  25.         {
  26.             if(sc[layer[i][0]]!=0) sc[layer[i][1]]=sc[layer[i][0]]+1;
  27.         }
  28.         else
  29.         {
  30.             sc[1]=1;
  31.             sc[layer[i][1]]=2;
  32.         }
  33.     }
  34.     for(i=n;i>=1;i--)
  35.     {
  36.         if(sc[i]==k+1)
  37.         {
  38.             printf("%d",i);
  39.             return 0;
  40.         }
  41.     }
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement