題目鏈接
題目描述
某校大門外長度為 l 的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1 米,我們可以把馬路看成一個數軸,馬路的一端在數軸 0 的位置,另一端在 l 的位置;數軸上的每個整數點,即 0,1,2,…,l,都種有一棵樹,
由于馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示,已知任一區域的起始點和終止點的坐標都是整數,區域之間可能有重合的部分,現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走,你的任務是計算將這些樹都移走后,馬路上還有多少棵樹,
輸入格式
第一行有兩個整數,分別表示馬路的長度 l 和區域的數目 m,
接下來 m 行,每行兩個整數 u,v,表示一個區域的起始點和終止點的坐標,
輸出格式
輸出一行一個整數,表示將這些樹都移走后,馬路上剩余的樹木數量,
輸入輸出樣例
輸入
500 3
150 300
100 200
470 471
輸出
298
代碼:
#include<iostream>
using namespace std;
int num[12345] = {0};
int main()
{
int L, M, x, y, count = 0;
cin >> L >> M;
while(M--)
{
cin >> x >> y;
for(int i = x; i <= y; i++) num[i] = 1;
}
for(int i = 0; i <= L; i++)
if(num[i] == 0)
count++;
cout << count;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/257873.html
標籤:其他
上一篇:【寒假每日一題】翻硬幣(個人練習)詳細題解+推導證明(第十一天)
下一篇:背包問題——01背包
