document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /******************************************
  2. Problem: 3664       User: bruce30262
  3. Memory: 956K        Time: 79MS
  4. Language: GCC       Result: Accepted
  5. *******************************************/
  6. #include <stdio.h>
  7.  
  8. typedef struct
  9. {
  10.     int first; //第一輪投票數
  11.     int second; //第二輪投票數
  12.     int index; //第幾頭牛
  13. }COW;
  14.  
  15. int compare1(const void *a, const void *b) //比較第一輪投票數(大到小)
  16. {
  17.     COW *pa = (COW *)a;
  18.     COW *pb = (COW *)b;
  19.  
  20.     if(pa->first > pb->first) return -1;
  21.     else if(pa->first == pb->first) return 0;
  22.     else return 1;
  23. }
  24.  
  25. int compare2(const void *a, const void *b) //比較第二輪投票數(大到小)
  26. {
  27.     COW *pa = (COW *)a;
  28.     COW *pb = (COW *)b;
  29.  
  30.     if(pa->second > pb->second) return -1;
  31.     else if(pa == pb) return 0;
  32.     else return 1;
  33. }
  34.  
  35.  
  36. int main()
  37. {
  38.     int total, secNum;
  39.     int i;
  40.  
  41.     while(~scanf("%d%d",&total, &secNum))
  42.     {
  43.         COW cow[total];
  44.  
  45.         for(i = 0 ; i < total ; i++) //記錄投票數和這頭牛是第幾號
  46.         {
  47.             scanf("%d%d",&cow[i].first, &cow[i].second);
  48.             cow[i].index = i + 1;
  49.         }
  50.  
  51.         qsort(cow, total, sizeof(COW), compare1); //第一輪投票開始
  52.         qsort(cow, secNum, sizeof(COW), compare2); //剩下的牛再進行第二輪
  53.  
  54.         printf("%d\\n",cow[0].index); //印出結果
  55.     }
  56.     return 0;
  57. }
');