移车问题

描述

校门口有100个车位(编号为1,2,...,100)停满了共享单车,为了移走部分单车以方便通行,学校派了N个志愿者去移车,每个志愿者的任务单有两个数字L和R(1<=L<=R<=100),表示他负责将编号处于区间[L, R]之间的单车全部移走,由于工作上的疏忽,志愿者领到的区间可能有重叠。编写程序,计算当所有志愿者都完工的时候,车位上还剩下几辆车。

输入

第一行是整数N,表示有N个志愿者

接下来是N行任务单,每行两个整数,分别表示L和R

输出

一个整数,表示剩余的单车数量

输入样例 1

2
1 60
4 90

输出样例 1

10
#include <stdio.h>
#include <stdlib.h>struct Interval
{int start;int end;
};int cmp(const void *a, const void *b)
{return ((struct Interval *)a)->start - ((struct Interval *)b)->start;
}int max(int a, int b)
{return a > b ? a : b;
}int main()
{int N;struct Interval *interval;scanf("%d", &N);interval = (struct Interval *)malloc(sizeof(struct Interval) * (N + 1));for (int i = 0; i < N; ++i)scanf("%d %d", &interval[i].start, &interval[i].end);// sort intervals in increasing orderqsort(interval, N, sizeof(struct Interval), cmp);// merge intervalsint merged_N = 0;struct Interval *merged_interval = (struct Interval *)malloc(sizeof(struct Interval) * (N + 1));merged_interval[merged_N++] = interval[0];for (int i = 1; i < N; ++i){if (merged_interval[merged_N - 1].end < interval[i].start)merged_interval[merged_N++] = interval[i];elsemerged_interval[merged_N - 1].end = max(merged_interval[merged_N - 1].end, interval[i].end);}// calculate remained bikesint remained = 100;for (int i = 0; i < merged_N; ++i)remained -= merged_interval[i].end - merged_interval[i].start + 1;printf("%d", remained);return 0;
}

厦大C语言上机 2020年期末上机考试 移车问题相关推荐

  1. 厦大C语言上机 2020年期末上机考试 校验ISBN

    校验ISBN 描述 国际标准书号ISBN共17位,由13位数字和4位连字符("-")组成.最后1位数字表示校验位,校验规则为:对从左至右前12位数字,分别计算奇位数之和s1与偶位数 ...

  2. 厦大C语言上机 2020年期末上机考试 整数编号

    整数编号 描述 有一个长度不超过100的整数数组a,每一个元素ai满足:0<ai≤100 现在对a的元素按照从小到大的顺序,从1开始进行编号,输出各个元素的编号值.要求不能改变数组a中元素的顺序 ...

  3. 2020年期末计算机考试主观题,2020年法考主观题是机考吗

    2020年法律职业资格考试主观题考试11月28日就要开考,2020年国家统一法律职业资格考试主观题考试实行计算机化考试,试题.答题要求和答题界面均在计算机显示屏上显示.应试人员应当使用计算机鼠标及键盘 ...

  4. 厦大C语言上机 1397 数据排序

    1397.数据排序 时间限制: 1000 MS          内存限制: 65536 K          提交数: 1268 (0 users)          通过数: 116 (115 u ...

  5. 厦大C语言上机 1413 模式匹配

    1413.模式匹配 时间限制: 1000 MS          内存限制: 65536 K          提交数: 765 (0 users)          通过数: 262 (251 us ...

  6. 厦大C语言上机1381

    不重叠子串数 描述 小明又找到一道难一点的题:给出两个字符串t和s,求出t中能找出几个不重叠的s串.比如t="tobeornottobe",s="to",则t中 ...

  7. 厦大C语言上机 1367 几何级数的计算机验证法

    1367.几何级数的计算机验证法 时间限制: 1000 MS          内存限制: 65536 K          提交数: 653 (0 users)          通过数: 270 ...

  8. 厦大C语言上机 1510 小明的随机数

    小明的随机数 描述 小明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(),对于其中重复的数字,只保留一个,把其余相同的数去掉.然后,再把这 ...

  9. 厦大C语言上机 1488 判断素数

    1488.判断素数 时间限制: 1000 MS          内存限制: 65536 K          提交数: 1203 (0 users)          通过数: 276 (265 u ...

最新文章

  1. 阿里员工吐槽:后悔接这侮辱性的offer
  2. 一份详细的“入坑Phd指南”---教你如何做笔记、整理参考书目、管理时间、如何写作、对自己和导师合理预期...
  3. C语言实现了一个顺序表(附完整源码)
  4. java 网络io详解_Java网络socket编程详解
  5. 【LINUX学习】链接文件
  6. 如何在React JS组件和React JS App中添加CSS样式?
  7. atomic原子类实现机制_并发编程:并发操作原子类Atomic以及CAS的ABA问题
  8. 学分绩点计算编程java_方便我们计算学分绩点的JavaScript
  9. Ansible-playbook 学习
  10. ad用户和计算机无法启动,windows 2008AD计算机启动脚本无法执行
  11. c++ 暂停功能_苹果拥抱Rust,正在将C代码移植到Rust
  12. 【【henuacm2016级暑期训练】动态规划专题 D】Writing Code
  13. LiveGBS国标GB/T28181流媒体平台华为IPC设备GB35114配置接入说明
  14. 3000字长文:探讨报销系统使用满意度的NPS指标设计
  15. 计算机设计贺卡教案,《运用Word制作电子贺卡》教学设计
  16. 新一代极米Z6X和极米Z6X哪个好
  17. VIO中IMU选型与数据处理
  18. 强化学习第二:epsilon贪心算法
  19. UDP Socket接收缓冲区与netstat Recv-Q
  20. A段架构设计_隽语集(IT+設計思考_1801)

热门文章

  1. datax(26):各个数据库与datax字段映射
  2. 平衡车入门---MPU6050陀螺仪的使用
  3. 【转】基于TMS320C6455的千兆以太网设计
  4. CSS文字单行隐藏和多行隐藏
  5. 2022-2028年中国功放机行业市场发展模式及投资前景规划报告
  6. 游戏开发完整学习路线之美
  7. HAL读写FLASH笔记
  8. Winform程序使用自定义鼠标光标
  9. MySQL与Oracle 数据库中---> LPAD() 与 RPAD() 的使用
  10. Python爬虫实战案例:一键爬取,多种网页模板任你选!