c++超级简单问题,我题目不会理解..请大家帮忙..

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:43:46
描述 Description
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。 已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

输入格式 Input Format
输入的第一行有两个整数:L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。

输出格式 Output Format
输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。

我请问下:最后一句话是什么意思.题目是什么意思...我理解能力有点差.
谢谢

这是信息学奥赛的原题
题解
#include <iostream>
using namespace std;
int main()
{
int l,m;
int begin,stop;
cin>>l>>m;
int a[l+1];
int i,j;
for(i=0;i<l+1;i++)
a[i]=1;
for(i=0;i<m;i++)
{
cin>>begin>>stop;
for(j=begin;j<=stop;j++)
a[j]=0;
}
int tree=0;
for(i=0;i<l+1;i++)
if(a[i]==1)
tree++;
cout<<tree;
return 0;
}

给定L+1个数:0,1,2,...,L
给定M对数:{m1,n1},{m2,n2},...
规则:去掉mi到ni之间的所有数,包括mi和ni
输出最后还剩下多少个数
比如:
10 3
2 4 (去掉2,3,4)
3 6 (去掉3,4,5,6)
7 9 (去掉7,8,9)

输出:3 (剩下0 1 10三个数)

题目说的很清楚了啊,就是让你写个程序,运行时,第一行输入两个整数,第一个数L,是这条路的长度,第二个数M,是这个路上要有几个区域修地铁(也就是要移除几部分)。输入完这两个数之后按回车,这时候根据你输入的M的数值,也就是你要移除几部分,就输入这些部分的起始和终止坐标,每一个部分都占一行,每行有两个数,也就是开头数字和末尾数字。
题目的意思就是,用总长度L减去上述各部分移除后还剩余多少,注意:移除的部分可以重合。所以注意不要减多了。
这种题看着好像是ACM试题吧。不过ACM都是英文的,你这可能是翻译过来的。

哪里的题啊?