1. 程式人生 > >資訊學競賽一本通提高版AC題解—例題1.1活動安排

資訊學競賽一本通提高版AC題解—例題1.1活動安排

書中程式碼有誤。書中為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; }