Playground
//koristi C++11 - http://mendo.mk/Lecture.do?id=26 #include <bits/stdc++.h> using namespace std; //funkcijata za podreduvanje bool sort_by_end_time(pair<string, string> a, pair<string, string> b) { return a.second < b.second; } //algoritamot za odbiranje na aktivnosti void activitySelection(vector<pair<string, string> > &activities) { if(activities.size() == 0) { return /* no activities */; } sort(activities.begin(), activities.end(), sort_by_end_time); //sekogash ja zemame prvata aktivnost po podreduvanjeto int lastSelected = 0; vector<int> takenActivities; takenActivities.push_back(lastSelected); for (int i = 1; i < activities.size(); i++) { //ako pochetnoto vreme na i-tata aktivnost //e pogolema ili ednakva na vremeto na zavrshuvanje //na poslednata odbrana aktivnost, ja zemame i nea if (activities[i].first >= activities[lastSelected].second) { takenActivities.push_back(i); lastSelected = i; } } //otpechati gi odbranite aktivnosti for(int t : takenActivities) { cout << activities[t].first << " " << activities[t].second << endl; } } int main() { vector<pair<string, string> > activities; activities.push_back( { "20:00", "21:00" } ); activities.push_back( { "20:50", "21:10" } ); activities.push_back( { "21:05", "23:00" } ); activitySelection(activities); return 0; }
Input data
Program output
Execute
Language: ????????? | Memory: ???? KB | Time: ??? ms
Nothing has been executed, yet!