解题思路:把数轴转化成足够长的数组并初始化为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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:578 |
兰顿蚂蚁 (C++代码)浏览:1044 |
WU-复数求和 (C++代码)浏览:2012 |
Tom数 (C语言代码)浏览:555 |
程序员的表白 (C语言代码)浏览:592 |
矩形面积交 (C语言代码)浏览:1304 |
Pascal三角 (C语言代码)浏览:645 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:611 |
生日日数 (C语言代码)浏览:1501 |
【计算球体积】 (C语言代码)浏览:1550 |