資訊學競賽一本通提高版AC題解—例題1.1活動安排
阿新 • • 發佈:2019-01-13
書中程式碼有誤。書中為sort(a+1,a+n+1,Cmp)。
// // Created by yuxi on 19-1-13. // /* * * 《資訊學競賽一本通-提高版》全部AC解答及解釋 * * 第一部分 基礎演算法 * 第一章 貪心演算法 * 例題1 活動安排 * */ #include <iostream> #include <algorithm> #include <fstream> #include <string> using namespace std; struct node{ int st;int ed; }a[1005]; bool Cmp(node x, node y){ return x.ed < y.ed; } int ActivityArrangement(node* a, int n){ sort(a, a+n+1, Cmp); int t = a[1].ed; int ans = 1; for(int i=2; i<=n; i++) { if (a[i].st >= t) { ans++; t = a[i].ed; } } return ans; } int main(){// open filestream // fstream inFile; // string FilePath = "/home/yuxi/Work/githubrepo/myrepo/YiBenTong/Section1Chapter1_GreedyAlgorithm/data/example1.in"; // inFile.open(FilePath); int n; cin >> n; // inFile >> n; for(int i=0; i<=n; i++) cin >> a[i].st >> a[i].ed ; // inFile >> a[i].st >> a[i].ed ;int ans = ActivityArrangement(a, n); cout << ans << endl; return 0; }