apl-mhd

Zitu Sir Activity selection

Apr 12th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #define MAX_SIZE 100
  5.  
  6. struct Activity{
  7.     int id, start, finish;
  8.  
  9. } activities[MAX_SIZE] ;
  10.  
  11. bool cmp(struct Activity a1, struct Activity a2){
  12.  
  13.     return a1.finish < a2.finish;
  14. }
  15.  
  16.  
  17. using namespace std;
  18.  
  19. int activitySelection(int m, int n, int last){
  20.  
  21.     if(m==n)
  22.         return 0;
  23.     if(activities[m].start >= last){
  24.  
  25.             cout<<"Activity "<<m+1<<" is selected\n";
  26.  
  27.         last = activities[m].finish;
  28.         return 1 + activitySelection(m+1, n, last);
  29.  
  30.  
  31.     }
  32.     else
  33.         return activitySelection(m+1, n, last);
  34.  
  35. }
  36.  
  37.  
  38. int main()
  39. {
  40.  
  41.     freopen("input.txt", "r", stdin);
  42.     int n;
  43.  
  44.     scanf("%d", &n);
  45.  
  46.     for(int i = 0; i<n; i++){
  47.  
  48.         scanf("%d%d%d", &activities[i].id, &activities[i].start, &activities[i].finish);
  49.     }
  50.  
  51.     sort(activities, activities+n,cmp);
  52.  
  53.  
  54.     cout<<activitySelection(0,9,-1)<<endl;
  55.  
  56.  
  57.     for(int i=0; i<n; i++){
  58.  
  59.     printf("%d %d %d\n", activities[i].id, activities[i].start, activities[i].finish);
  60.  
  61.  
  62.     }
  63.  
  64.  
  65.  
  66.     return 0;
  67. }
Add Comment
Please, Sign In to add comment