解题思路:把数轴转化成足够长的数组并初始化为0,在每一次输入区域范围时,位于范围内的a[i]J减一,最后统计数值为0的a[i]
注意事项:a[i]的长度要足够,不然会崩。
参考代码:
#include <stdio.h>
#include <string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a[100007] = { 0 }, m, n, i, j, p, q, k = 0,num = 0;
scanf_s("%d %d", &n, &m);
for (i = 0;i < m;i++)
{
scanf_s("%d %d", &p, &q);
for (j = p;j <= q;j++)
{
a[j]--;
}
}
for (k = 0;k <= n;k++)
{
if (a[k] == 0)
num++;
}
printf("%d", num);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1067 |
剔除相关数 (C语言代码)浏览:1058 |
WU-整数平均值 (C++代码)浏览:1307 |
【计算直线的交点数】 (C语言代码)浏览:1501 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:699 |
演讲大赛评分 (C语言代码)浏览:1697 |
Tom数 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:548 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:751 |