南阳理工14题

来源:互联网 发布:mac电脑装windows10 编辑:程序博客网 时间:2024/05/20 11:23
#include <iostream>  #include <cstdio>  #include <cstring>  #include <algorithm>    using namespace std;    #define SIZE 10005    struct Activity_Info  {      int s;  //开始时间      int e;  //结束时间  }acts[SIZE];    bool Cmp(const Activity_Info a, const Activity_Info b)  {      return a.e < b.e;  }    int ArrangingActivities(int n)  {      //按结束时间从小到大排序      sort(acts, acts+n, Cmp);        int count = 0;      int currTime = -1;  //当前时间      int i;      for (i = 0; i < n; i++)      {          if (acts[i].s > currTime)          {              count++;              currTime = acts[i].e;  //每一次循环之后,第一个节目的结束时间就是第二个节目的开始时间        }      }      return count;  }    int main(void)  {      int ncases;      scanf("%d", &ncases);      while (ncases-- != 0)      {          int n;          scanf("%d", &n);            int i;          for (i = 0; i < n; i++)          {              scanf("%d%d", &acts[i].s, &acts[i].e);          }            printf("%d\n", ArrangingActivities(n));      }      return 0;  }  

原创粉丝点击