您好,登錄后才能下訂單哦!
/*
06:校門外的樹
總時間限制: 1000ms 內(nèi)存限制: 65536kB
描述
某校大門外長度為L的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1米。
我們可以把馬路看成一個數(shù)軸,馬路的一端在數(shù)軸0的位置,另一端在L的位置;
數(shù)軸上的每個整數(shù)點,即0,1,2,……,L,都種有一棵樹。
由于馬路上有一些區(qū)域要用來建地鐵。
這些區(qū)域用它們在數(shù)軸上的起始點和終止點表示。
已知任一區(qū)域的起始點和終止點的坐標(biāo)都是整數(shù),區(qū)域之間可能有重合的部分。
現(xiàn)在要把這些區(qū)域中的樹(包括區(qū)域端點處的兩棵樹)移走。
你的任務(wù)是計算將這些樹都移走后,馬路上還有多少棵樹。
輸入
第一行有兩個整數(shù)L(1 <= L <= 10000)和 M(1 <= M <= 100),
L代表馬路的長度,M代表區(qū)域的數(shù)目,L和M之間用一個空格隔開。
接下來的M行每行包含兩個不同的整數(shù),用一個空格隔開,
表示一個區(qū)域的起始點和終止點的坐標(biāo)。
對于20%的數(shù)據(jù),區(qū)域之間沒有重合的部分;
對于其它的數(shù)據(jù),區(qū)域之間有重合的情況。
輸出
包括一行,這一行只包含一個整數(shù),表示馬路上剩余的樹的數(shù)目。
樣例輸入
500 3
150 300
100 200
470 471
樣例輸出
298
來源
NOIP2005復(fù)賽 普及組 第二題
*/
#include "iostream"
using namespace std;
int main()
{
int l,m,x1,x2;
int flag[10001]={0};
cin>>l>>m;
for(int i=1;i<=m;i++)
{
cin>>x1>>x2;
for(int j=x1;j<=x2;j++)
{
flag[j]++;
}
}
int count=0;
for(int i=0;i<=l;i++)
{
if(flag[i]==0)
{
count++;
}
}
cout<<count<<endl;
return 0;
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。