Advertisement
atulshanbhag

fgfs.cpp

Jul 20th, 2015
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void swap(int &x, int &y)
  5. {
  6.     int t = x;
  7.     x = y;
  8.     y = t;
  9.  
  10.     return ;
  11. }
  12.  
  13. void sort1(int s[], int f[], int p[], int n)
  14. {
  15.     for(int i=0;i<n-1;i++)
  16.     {
  17.         int min = i;
  18.         for(int j=i+1;j<n;j++)
  19.             if(p[j]<p[min])
  20.                 min = j;
  21.         swap(s[i],s[min]);
  22.         swap(f[i],f[min]);
  23.         swap(p[i],p[min]);
  24.     }
  25.  
  26.     return ;
  27. }
  28.  
  29. void sort2(int s[], int f[], int l, int r)
  30. {
  31.     for(int i=l;i<r-1;i++)
  32.     {
  33.         int min = i;
  34.         for(int j=i+1;j<r;j++)
  35.             if(f[j]<f[min])
  36.                 min = j;
  37.         swap(s[i],s[min]);
  38.         swap(f[i],f[min]);
  39.     }
  40.  
  41.     return ;
  42. }
  43.  
  44. int main()
  45. {
  46.     int t;
  47.     cin >> t;
  48.     while(t--)
  49.     {
  50.         int n,k;
  51.         cin >> n >> k;
  52.  
  53.         int s[n],f[n],p[n];
  54.         int comp[k+1] = {};
  55.  
  56.         for(int i=0;i<n;i++)
  57.         {
  58.             cin >> s[i] >> f[i] >> p[i];
  59.             comp[p[i]]++;
  60.         }
  61.  
  62.         sort1(s,f,p,n);
  63.  
  64.         int count = 0;
  65.         int i=0;
  66.         while(i<n)
  67.         {
  68.             int l = i;
  69.             int r = i+comp[p[i]];
  70.             sort2(s,f,l,r);
  71.  
  72.             count++;
  73.             int j = l;
  74.             for(int k = l+1;k<r;k++)
  75.             {
  76.                 if(s[k]>=f[j])
  77.                 {
  78.                     count++;
  79.                     j = k;
  80.                 }
  81.             }
  82.             i = r;
  83.         }
  84.         cout << count << endl;
  85.     }
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement