zoukankan      html  css  js  c++  java
  • 活动

    题目往下看。。。。。

    【题目描述】

     

    学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。
    现在给出n个活动使用礼堂的起始时间begini和结束时间endi(begini<endi),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。
    【输入】
    第一行一个整数n(n≤1000);
    接下来的n行,每行两个整数,第一个beginibegini,第二个是endi(begini<endi≤32767)endi(begini<endi≤32767)。
    【输出】
    输出最多能安排的活动个数。
    【输入示例】
    11
    3 5
    1 4
    12 14
    8 12
    0 6
    8 11
    6 10
    5 7
    3 8
    5 9
    2 13
    【输出示例】
    4
     
    这玩意是个贪心,虽然看起来很迷但这改变不了它是一道贪心。
    如图所示,你肯定要选第一条和第三条。
    因为选二还不如选一和三。三和一离得最近。比四划算。
    所以只要排序一遍
     1 for(int i=1;i<=n;i++)
     2     {
     3         for(int j=i+1;j<=n;j++)
     4         {
     5             if(end1[i]>end1[j])
     6             {
     7                 swap(end1[i],end1[j]);
     8                 swap(begin1[i],begin1[j]);
     9             }
    10         }
    11     }

    再查找

    1 for(int i=2;i<=n;i++)
    2     {
    3         if(begin1[i]>=end2)
    4         {
    5             ans++;
    6             end2=end1[i];
    7         }
    8     }

    完整代码

     1 #include<iostream>
     2 using namespace std;
     3 int n;
     4 int begin1[10013],end1[10013];
     5 int main()
     6 {
     7     cin>>n;
     8     for(int i=1;i<=n;i++)
     9     {
    10         cin>>begin1[i]>>end1[i];
    11     } 
    12     for(int i=1;i<=n;i++)
    13     {
    14         for(int j=i+1;j<=n;j++)
    15         {
    16             if(end1[i]>end1[j])
    17             {
    18                 swap(end1[i],end1[j]);
    19                 swap(begin1[i],begin1[j]);
    20             }
    21         }
    22     }
    23     int ans=1;
    24     int end2=end1[1];
    25     for(int i=2;i<=n;i++)
    26     {
    27         if(begin1[i]>=end2)
    28         {
    29             ans++;
    30             end2=end1[i];
    31         }
    32     }
    33     cout<<ans;
    34 }

    这就是这道贪心题的解法。

     

    在暴风雨中低着头,是为了不让雨水模糊风雨后眼中的彩虹。

     

  • 相关阅读:
    【Language】 TIOBE Programming Community Index for February 2013
    【diary】good health, good code
    【web】a little bug of cnblog
    【Git】git bush 常用命令
    【web】Baidu zone ,let the world know you
    【diary】help others ,help yourself ,coding is happiness
    【Git】Chinese messy code in widows git log
    【windows】add some font into computer
    SqlServer启动参数配置
    关于sqlserver中xml数据的操作
  • 原文地址:https://www.cnblogs.com/DK-F/p/9481116.html
Copyright © 2011-2022 走看看