信息学竞赛一本通提高版AC题解—例题1.1活动安排

Posted ethanhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息学竞赛一本通提高版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;
}

 

以上是关于信息学竞赛一本通提高版AC题解—例题1.1活动安排的主要内容,如果未能解决你的问题,请参考以下文章

《信奥一本通》提高版—简要题解

信息学奥赛一本通 1341:例题一笔画问题

信息学奥赛一本通要多少钱

[信息学奥赛一本通oj1741]电子速度 题解

长春市哪里有卖这本信息学奥赛一本通c++的书店?

LibreOJ一本通题解报告