zoukankan      html  css  js  c++  java
  • 任务安排

    Description

      今天Ckp打算去约会。大家都知道Ckp是超级大帅哥,所以和他约会的MM也超级多,她们每个人都和Ckp订了一个约会时间。但是今天Ckp刚打算出门的时候才发现,某几个MM的约会时间有冲突。由于Ckp不会分身,还不能和多个MM同时约会,他只能忍痛割爱拒绝掉某些MM。但是Ckp这个花心大萝卜还是不死心,他想知道,他最多可以和多少个MM约会。

    Input

      输入的第一行包含一个正整数N(0<N<=1000),表示和Ckp约会的MM数。
      接下去N行,每行描述一个MM,格式为: Name starttime endtime,表示在[starttime,endtime)这个半开区间是这个MM的约会时间,starttime < endtime。名字由大写或小写字母组成,最长不超过15个字母,保证没有两个人拥有相同的名字,所有时间采用24小时制,格式为XX:XX,且在06:00到23:00之间。

    Output

      输出的第一行是一个整数M表示Ckp最多可以和多少个MM约会。
      接下来那一行就是M个MM的名字,用空格隔开。您可以按照任意的顺序输出。如果存在多个答案,您可以任选一个输出。

    Sample Input

    4
    Lucy 06:00 10:00
    Lily 10:00 17:00
    HanMeimei 16:00 21:00
    Kate 11:00 13:00

    Sample Output

    3
    Lucy Kate HanMeimei

    贪心.....排序后去枚举情况......

    代码:

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int k=0,x1,y1,x2,y2;
    int n;
    char t;
    char ch[1100][1100];
    struct str//结构体是个好东西..... 
    {
        char name[1100];
        int a1,b1;
        bool operator < (str k)//排序,按结束时间 
        {
            if(a1!=k.a1) return b1<k.b1;
            else return a1<k.a1;
        }
    }a[1100000];
    int sum=0;
    int b[11000];
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i].name;
            scanf("%d:%d",&x1,&y1);//读入 
            scanf("%d:%d",&x2,&y2);
            int sum1=x1*60+y1;//把小时转换为分钟.... 
            int sum2=x2*60+y2;
            a[i].a1=sum1;
            a[i].b1=sum2;
        }
        sort(a+1,a+1+n);
        int ji_lu=-1;
        for(int i=1;i<=n;i++)//贪心策略,选开始时间最接近上一次的末尾.... 
        {
            if(a[i].a1>=ji_lu)
            {
                ji_lu=a[i].b1;
                sum++;
                b[sum]=i;//记录下标 
            }
        }
        cout<<sum<<endl;
        for(int i=1;i<=sum;i++)
        {
            cout<<a[b[i]].name<<" ";//输出 
        }
    }
  • 相关阅读:
    智慧城市建设中政府网站群建设起到了积极的作用
    SQLite 入门教程(四)增删改查,有讲究 (转)
    基于H.264的实时网络摄像——Android客户端
    中小型数据存储方案探讨
    SQL的多表操作
    lua中的时间函数
    C++ 输入输出文件流(ifstream&ofstream)
    linux系统下的shell脚本
    makefile的简单写法
    Linux-ubuntu
  • 原文地址:https://www.cnblogs.com/dai-jia-ye/p/9480377.html
Copyright © 2011-2022 走看看