解题思路:
利用一维数组与数轴相似的特点进行操作,化实际为抽象
注意事项:
1、注意审题,是从0到L,所以最多有10001颗树。
2、给你的L是路的长度,但根据实际情况一共会有n+1颗树。
3、这种数组操作不用考虑重合情况,因为里面不是1(表示有树)就是0(表示没有树)。
4、嗯。。。一开始我忘了按输入分配数组大小,所以这个程序还是可以优化的。
我因为没有注意到1,2点耗了很多时间,希望你们别步我后尘
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define MAX 10001
int main()
{
int n,x,z,y,all[MAX],p=0,b,temp;/*x为组,n为路长*/
scanf("%d %d",&n,&x);
for (b=0;b<MAX;b++)
all[b]=0;
for (b=0;b<n+1;b++)
all[b]=1;
while (x--)
{
scanf("%d %d",&z,&y);
for (;z<=y;z++)
all[z]=0;
}
for (b=0;b<MAX;b++)
{
if (all[b]==1)
p++;
}
printf("%d\n",p);
return 0;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复