当前位置:网站首页>C语言数组题_校门外的树_标记法
C语言数组题_校门外的树_标记法
2022-08-09 10:48:00 【Cutecumber】
题目描述
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是11米。我们可以把马路看成一个数轴,马路的一端在数轴00的位置,另一端在LL的位置;数轴上的每个整数点,即0,1,2,…,L0,1,2,…,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
解题思路
刚一看题目,觉得这个数组的题重点考察重合部分的处理,以两个修建区域为例,无外乎三种情况1:两个不重合;2:两个重合(一个包含在另一个里);3:部分重合。起初以为单纯的把每种情况列出来相加再减去重合部分的树的数目就可以完成,但是这样非常复杂。
此题最佳的做法是用标记法,即先建立一个数组,令其所有元素为‘1’,将每一个建设区域内的值修改为‘0’,这样即使重合的部分也不用担心会多减去树。
代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int l,m,count=0,i,j;
int a[101][2],lu[10001]={
'\0'}; //a储存所有区域的始末位置; lu储存马路上的树的位置
scanf("%d %d",&l,&m);
for(i=0;i<l+1;i++)
lu[i]=1; //l为马路长度,每棵树距离1米,树的个数为l+1,这里将所有树的位置标记为‘1’
for(i=0;i<m;i++)
{
scanf("%d %d",&a[i][0],&a[i][1]); //对m个区域的始末位置赋值
}
for(i=0;i<m;i++)
{
for(j=a[i][0];j<=a[i][1];j++)
{
lu[j]=0; //将每个区域的所在路的区间的值覆盖为‘0’,表示此段路被用作建设
}
}
for(i=0;i<l+1;i++)
if(lu[i]==1)
count++; //遍历lu,记录'1'的个数,即未被占用的树的数目
printf("%d",count);
}
边栏推荐
猜你喜欢

activemq message persistence

OneNote 教程,如何在 OneNote 中搜索和查找笔记?

Netscope:神经网络结构在线可视化工具

tensorflow实现线性方程的参数调整

Oracle数据库常用函数总结

Tensorflow realize parameter adjustment of linear equations

【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题

自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了

对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!

深度学习--循环神经网络(Recurrent Neural Network)
随机推荐
shap库源码和代码实现
activemq message persistence
深度学习--自编码器(AutoEncoder)
autogluon安装,使用指南,代码
TensorFlow—计算梯度与控制梯度 : tf.gradients和compute_gradients和apply_gradients和clip_by_global_norm控制梯度
Cpolar内网穿透的面板功能介绍
Getting Started with MNIST Machine Learning
力扣(LeetCode)220. 存在重复元素 III(2022.08.08)
真香!肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer
pip常见命令和更改源文件
MySQL外键在数据库中的作用
pip common commands and changing source files
For versions corresponding to tensorflow and numpy, report FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate
OneNote 教程,如何在 OneNote 中搜索和查找笔记?
shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
Shell script combat (2nd edition) / People's Posts and Telecommunications Press Script 2 Validate input: letters and numbers only
情感分析SowNLP词库
相关系数计算,热力图绘制,代码实现
TensorFlow: NameError: name 'input_data' is not defined
String类型的字符串对象转实体类和String类型的Array转List