• CSP CCF 2018092 买菜


    问题描述

    小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]...[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d2]...[cn,dn]在装车。其中,一个时间段[s, t]表示的是从时刻s到时刻t这段时间,时长为t-s。

    由于他们是好朋友,他们都在广场上装车的时候会聊天,他们想知道他们可以聊多长时间。

    输入格式

    输入的第一行包含一个正整数n,表示时间段的数量。

    接下来n行每行两个数ai,bi,描述小H的各个装车的时间段。

    接下来n行每行两个数ci,di,描述小W的各个装车的时间段。

    输出格式

    输出一行,一个正整数,表示两人可以聊多长时间。

    样例输入

    4
    1 3
    5 6
    9 13
    14 15
    2 4
    5 7
    10 11
    13 14
    

    样例输出

    3
    

    数据规模与约定

    对于所有的评测用例,

    • 1 ≤ n ≤ 2000,
    • ai < bi < ai+1
    • ci < di < ci+1,

    对于所有的i(1 ≤ i ≤ n)有,

    • 1 ≤ ai, bi, ci, di ≤ 1000000。

    代码

    #include<stdio.h>
    #define MAX_N 1000005
    int a[1000005]={0};
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=2*n;i++)
        {
            int b,c;
            scanf("%d%d",&b,&c);
            a[b]++;
            a[c]--;
        }
        int ans =0,cnt =0;
        for(int i=0;i<=MAX_N;i++)
        {
            cnt += a[i];
            ans += (cnt==2);
        }
        printf("%d",ans);
        return 0;
    }
    
  • 相关阅读:
    [Oracle DBA学习笔记] STARTUP详解
    亦步亦趋完成在CentOS 6.4下安装Oracle 11gR2
    ‘程序员’与‘页面仔’
    Linux下建立Oracle服务及其开机自启动
    解析并验证IE6及之前版本的'!important’ BUG
    浅谈CSS选择器中的空格
    在CentOS安装CMake
    关于CentOS下RPM的一些实例
    CentOS配置ssh无密码登录的注意点
    CentOS下的账户管理
  • 原文地址:https://www.cnblogs.com/zhangzizi/p/14451625.html
Copyright © 2020-2023  润新知