厦大C语言上机 2020年期末上机考试 移车问题
移车问题
描述
校门口有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年期末上机考试 移车问题相关推荐
- 厦大C语言上机 2020年期末上机考试 校验ISBN
校验ISBN 描述 国际标准书号ISBN共17位,由13位数字和4位连字符("-")组成.最后1位数字表示校验位,校验规则为:对从左至右前12位数字,分别计算奇位数之和s1与偶位数 ...
- 厦大C语言上机 2020年期末上机考试 整数编号
整数编号 描述 有一个长度不超过100的整数数组a,每一个元素ai满足:0<ai≤100 现在对a的元素按照从小到大的顺序,从1开始进行编号,输出各个元素的编号值.要求不能改变数组a中元素的顺序 ...
- 2020年期末计算机考试主观题,2020年法考主观题是机考吗
2020年法律职业资格考试主观题考试11月28日就要开考,2020年国家统一法律职业资格考试主观题考试实行计算机化考试,试题.答题要求和答题界面均在计算机显示屏上显示.应试人员应当使用计算机鼠标及键盘 ...
- 厦大C语言上机 1397 数据排序
1397.数据排序 时间限制: 1000 MS 内存限制: 65536 K 提交数: 1268 (0 users) 通过数: 116 (115 u ...
- 厦大C语言上机 1413 模式匹配
1413.模式匹配 时间限制: 1000 MS 内存限制: 65536 K 提交数: 765 (0 users) 通过数: 262 (251 us ...
- 厦大C语言上机1381
不重叠子串数 描述 小明又找到一道难一点的题:给出两个字符串t和s,求出t中能找出几个不重叠的s串.比如t="tobeornottobe",s="to",则t中 ...
- 厦大C语言上机 1367 几何级数的计算机验证法
1367.几何级数的计算机验证法 时间限制: 1000 MS 内存限制: 65536 K 提交数: 653 (0 users) 通过数: 270 ...
- 厦大C语言上机 1510 小明的随机数
小明的随机数 描述 小明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(),对于其中重复的数字,只保留一个,把其余相同的数去掉.然后,再把这 ...
- 厦大C语言上机 1488 判断素数
1488.判断素数 时间限制: 1000 MS 内存限制: 65536 K 提交数: 1203 (0 users) 通过数: 276 (265 u ...
最新文章
- 阿里员工吐槽:后悔接这侮辱性的offer
- 一份详细的“入坑Phd指南”---教你如何做笔记、整理参考书目、管理时间、如何写作、对自己和导师合理预期...
- C语言实现了一个顺序表(附完整源码)
- java 网络io详解_Java网络socket编程详解
- 【LINUX学习】链接文件
- 如何在React JS组件和React JS App中添加CSS样式?
- atomic原子类实现机制_并发编程:并发操作原子类Atomic以及CAS的ABA问题
- 学分绩点计算编程java_方便我们计算学分绩点的JavaScript
- Ansible-playbook 学习
- ad用户和计算机无法启动,windows 2008AD计算机启动脚本无法执行
- c++ 暂停功能_苹果拥抱Rust,正在将C代码移植到Rust
- 【【henuacm2016级暑期训练】动态规划专题 D】Writing Code
- LiveGBS国标GB/T28181流媒体平台华为IPC设备GB35114配置接入说明
- 3000字长文:探讨报销系统使用满意度的NPS指标设计
- 计算机设计贺卡教案,《运用Word制作电子贺卡》教学设计
- 新一代极米Z6X和极米Z6X哪个好
- VIO中IMU选型与数据处理
- 强化学习第二:epsilon贪心算法
- UDP Socket接收缓冲区与netstat Recv-Q
- A段架构设计_隽语集(IT+設計思考_1801)