买菜

来源:CCF

标签:

参考资料:

相似题目:

题目

小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。

解题思路

画图表示讨论所有情况,其中绿色代表小H,红色代表小W。(表示不唯一)
第一种情况:

第二种情况:

第三种情况:

第四种情况:

第五种情况:

第六种情况:

参考代码

#include<stdio.h>
#define MAXN 2005struct DURATION{int s,t; //s是左端,t是右端
}dura1[MAXN],dura2[MAXN]; //dura1:小H,dura2:小Wint n;int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d",&dura1[i].s,&dura1[i].t);}for(int i=0;i<n;i++){scanf("%d%d",&dura2[i].s,&dura2[i].t);}int i=0,j=0;int ans=0;//同时遍历小H和小W的时间段while(i<n && j<n){if(dura1[i].t<=dura2[j].s){i++;continue;}if(dura1[i].s<dura2[j].s && dura1[i].t<dura2[j].t){ans+=dura1[i].t-dura2[j].s;i++;continue;}if(dura1[i].s>=dura2[j].s && dura1[i].t<dura2[j].t){ans+=dura1[i].t-dura1[i].s;i++;continue;}if(dura1[i].s>=dura2[j].s && dura1[i].s<=dura2[j].t && dura1[i].t>=dura2[j].t){ans+=dura2[j].t-dura1[i].s;j++;continue;}if(dura1[i].s>dura2[j].t){j++;continue;}if(dura1[i].s<=dura2[j].t && dura1[i].t>=dura2[j].t){ans+=dura2[j].t-dura2[j].s;j++;continue;}}printf("%d",ans);return 0;
}

CCF计算机软件能力认证试题练习:201809-2 买菜相关推荐

  1. CCF计算机软件能力认证试题练习:201903-1 小中大

    小中大 来源:CCF 标签: 参考资料: 相似题目: 背景 在数据分析中,最小值最大值以及中位数是常用的统计信息. 题目 老师给了你 n 个整数组成的测量数据,保证有序(可能为升序或降序),可能存在重 ...

  2. CCF计算机软件能力认证试题练习:201803-2 碰撞的小球

    碰撞的小球 来源:CCF 标签: 参考资料: 相似题目: 题目 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上, ...

  3. CCF计算机软件能力认证试题练习:201909-2 小明种苹果(续)

    小明种苹果(续) 来源:CCF 标签: 参考资料: 相似题目: 题目 小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作, ...

  4. CCF计算机软件能力认证试题练习:201609-3 炉石传说

    炉石传说 来源:CCF 标签: 参考资料: 相似题目: 题目 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集 ...

  5. CCF计算机软件能力认证试题练习:201803-4 棋局评估

    棋局评估 来源:CCF 标签: 参考资料: 相似题目: 题目 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是"X", ...

  6. CCF计算机软件能力认证试题练习:201912-3 化学方程式

    化学方程式 来源:CCF 标签: 参考资料: 相似题目: 题目 化学方程式,也称为化学反应方程式,是用化学式表示化学反应的式子.给出一组化学方程式,请你编写程序判断每个方程式是否配平(也就是方程式中等 ...

  7. CCF计算机软件能力认证试题练习:201612-2 工资计算

    工资计算 来源: 标签: 参考资料: 相似题目: 题目 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应 ...

  8. CCF计算机软件能力认证试题练习:201712-3 Crontab

    Crontab 来源: 标签: 参考资料: 相似题目: 题目 输入 输出 输入样例 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * ...

  9. CCF计算机软件能力认证试题练习:201512-2 消除类游戏

    消除类游戏 来源: 标签: 参考资料: 相似题目: 题目 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有 ...

最新文章

  1. 国际10-20标准电极位置
  2. datetime 取分钟_如何仅从DateTime获取小时和分钟
  3. HANA live report - metadata retrieve - where I can find it in HANA studio
  4. ASIHTTPRequest-断点续传需要原网站支持!
  5. postgresql linux rpm,postgresql 9.6 rpm包安装 CentOS 7.2 X64
  6. Linux常用的基本命令10
  7. 这个Python资源在GitHub上标星超8000,现在被翻译成了中文 | 资源
  8. 【k8s】记踩坑无数后的kubernetes二进制安装详细步骤
  9. c# 对象json互相转换_C#编程实现对象与JSON串互相转换实例分析
  10. EXCEL VBA编程(excel办公高手必经之路)-曾贤志-专题视频课程
  11. Sql Server2005分离数据库
  12. 火狐扩展教程_Firefox扩展模板
  13. 原理图与PCB篇(一)mil和mm之间的换算
  14. 软件工程的完整生命周期
  15. OpenCV函数remap详解
  16. 《全面解读IPTV生态链》-转自CSDN
  17. JavaSE——Day12
  18. 环境变量的作用,为什么要设置环境变量
  19. Unity见缝插针游戏源码完整版
  20. All in 区块链的百度昨日发布了白皮书,说了些什么?

热门文章

  1. Pandas实战中的进阶技巧(1)
  2. Mysql数据库连接———JDBC,Java代码
  3. 借助 Istio 让服务更具弹性 | 周末送福利
  4. matlab网格划分程序与matlab有限元的结合
  5. IBM实习生笔试题目(5)
  6. NKOJ 用魔法生成回文序列
  7. 桌面应用程序设计(QQ)
  8. STM32滴答时钟[直接用寄存器]
  9. 基于PHP+MySQL婴幼儿早教网站的设计与实现
  10. 希捷银河企业级硬盘,智能高效首选