zoukankan      html  css  js  c++  java
  • ZOJ 3787 Access System 水

    LINK:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3787

    思路:结构体 时间转化为秒记录下最小并且排序就好了

    /** @Date    : 2017-03-23-22.06
      * @Author  : Lweleth (SoungEarlf@gmail.com)
      * @Link    : https://github.com/
      * @Version :
      */
    #include<bits/stdc++.h>
    #define LL long long
    #define PII pair
    #define MP(x, y) make_pair((x),(y))
    #define fi first
    #define se second
    #define PB(x) push_back((x))
    #define MMG(x) memset((x), -1,sizeof(x))
    #define MMF(x) memset((x),0,sizeof(x))
    #define MMI(x) memset((x), INF, sizeof(x))
    using namespace std;
    
    const int INF = 0x3f3f3f3f;
    const int N = 2e4+20;
    const double eps = 1e-8;
    
    struct yuu
    {
        int t, m;
    }a[N];
    
    int cmp(yuu a, yuu b)
    {
        if(a.t != b.t)
            return a.t < b.t;
        return a.m < b.m;
    }
    
    int b[N];
    int main()
    {
        int T;
        cin >> T;
        while(T--)
        {
            int n, l;
            int h, m, s;
            cin >> n >> l;
            int cnt = 0;
    
            int mi = -1;
            for(int i = 0; i < n; i++)
            {
                scanf("%d:%d:%d", &h, &m, &s);
                a[i].t = h * 3600 + m * 60 + s;
                a[i].m = i + 1;
            }
            sort(a, a + n, cmp);
            for(int i = 0; i < n; i++)
            {
                if(a[i].t >= mi)
                    b[cnt++] = a[i].m, mi = a[i].t + l;
            }
            printf("%d
    ", cnt);
            sort(b, b + cnt);
            for(int i = 0; i < cnt; i++)
                printf("%d%s", b[i], i==cnt - 1?"
    ":" ");
        }
        return 0;
    }
    
    
  • 相关阅读:
    slf4j+log4j2的配置
    日志规约
    log4j2配置文件log4j2.xml详解(转载)
    好用的打包工具webpack
    gulp插件
    学习自动化工具gulp
    git
    nodejs学习随笔
    好用的meta标签
    小问题记录
  • 原文地址:https://www.cnblogs.com/Yumesenya/p/6648415.html
Copyright © 2011-2022 走看看