Search
 
SCRIPT & CODE EXAMPLE
 

CPP

activity selection problem

#include <bits/stdc++.h>

using namespace std; 
#define N 6		// defines the number of activities

// Structure represents an activity having start time and finish time. 
struct Activity 
{ 
    int start, finish; 
}; 

// This function is used for sorting activities according to finish time 
bool Sort_activity(Activity s1, Activity s2) 
{ 
    return (s1.finish< s2.finish); 
} 

/* 	Prints maximum number of activities that can
	be done by a single person or single machine at a time. 
*/
void print_Max_Activities(Activity arr[], int n) 
{ 
    // Sort activities according to finish time 
	sort(arr, arr+n, Sort_activity); 

	cout<< "Following activities are selected 
"; 

    // Select the first activity
    int i = 0; 
	cout<< "(" <<arr[i].start<< ", " <<arr[i].finish << ")
"; 

    // Consider the remaining activities from 1 to n-1 
    for (int j = 1; j < n; j++) 
    { 
    	// Select this activity if it has start time greater than or equal
    	// to the finish time of previously selected activity
      	if (arr[j].start>= arr[i].finish) 
      	{	 
			cout<< "(" <<arr[j].start<< ", "<<arr[j].finish << ") 
"; 
			i = j; 
      	} 
    } 
} 

// Driver program 
int main() 
{ 
    Activity arr[N];
	for(int i=0; i<=N-1; i++)
	{
		cout<<"Enter the start and end time of "<<i+1<<" activity 
";
		cin>>arr[i].start>>arr[i].finish;
    }

	print_Max_Activities(arr, N); 
    return 0; 
}
Comment

PREVIOUS NEXT
Code Example
Cpp :: c++ custom printf 
Cpp :: remove elements from vector 
Cpp :: ? c++ 
Cpp :: linkedlist in c++ 
Cpp :: remove duplicates from sorted list solution in c++ 
Cpp :: pragma HLS bracets 
Cpp :: char input in c++ 
Cpp :: summation of numbers using function 
Cpp :: C++ Initialization of three-dimensional array 
Cpp :: recuva recovery software for pc with crack 
Cpp :: even or odd program in c++ 
Cpp :: lap trinh file explorer c++ 
Cpp :: code runner c++ syntax error 
Cpp :: Bit Tricks for Competitive Programming c ++ 
Cpp :: c shortest path dijkstra 
Cpp :: Mirror Inverse Program in c++ 
Cpp :: kruskal algorithm 
Cpp :: C++ for vs while loops 
Cpp :: C++ Display a text 5 times 
Cpp :: overwrite windows mbr c++ 
Cpp :: accepting string with space on same line C++ 
Cpp :: how to point to next array using pointer c++ 
Cpp :: what is blob in computer vision 
Cpp :: get shape of eigen matrix 
Cpp :: beecrowd problem 1003 solution in c++ 
Cpp :: how to find the sum of elements in a stack in cpp 
Cpp :: 28+152+28+38+114 
Cpp :: export gcc g++ 
Cpp :: fasdf 
Cpp :: c+ - Dormir en millisecondes 
ADD CONTENT
Topic
Content
Source link
Name
3+9 =