SDNU 1469.校门外的树(水题)
生活随笔
收集整理的這篇文章主要介紹了
SDNU 1469.校门外的树(水题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
問題描述 某校大門外長度為L的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1米。我們可以把馬路看成一個數軸,馬路的一端在數軸0的位置,另一端在L的位置;數? 軸上的每個整數點,即0,1,2,……,L,都種有一棵樹。 由于馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已? 知任一區域的起始點和終止點的坐標都是整數,區域之間可能有重合的部分。現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走。你的任務是計算將這些樹? 都移走后,馬路上還有多少棵樹。 輸入格式 輸入文件的第一行有兩個整數L(1? < =? L? < =? 10000)和? M(1? < =? M? < =? 100),L代表馬路的長度,M代表區域的數目,L和M之間用一個空格隔開。接下來的M行每行包含兩個不同的整數,用一個空格隔開,表示一個區域的起始點? 和終止點的坐標。 輸出格式 輸出文件包括一行,這一行只包含一個整數,表示馬路上剩余的樹的數目。 樣例輸入 500? 3 150? 300 100? 200 470? 471 樣例輸出 298 數據規模和約定 對于20%的數據,區域之間沒有重合的部分; 對于其它的數據,區域之間有重合的情況。Input
Output
Sample Input
Sample Output
Source
Unknown #include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std; #define ll long long const int maxn = 5100;int L, M, road[10000+8], num, l, r;int main() {num = 0;scanf("%d%d", &L, &M);memset(road, 0, sizeof(road));for(int i = 0; i<M; i++){scanf("%d%d", &l, &r);for(int i = l; i <= r; i++)road[i] = 1;}for(int i = 0; i <= L; i++)if(!road[i])num++;printf("%d\n", num);return 0; }?
轉載于:https://www.cnblogs.com/RootVount/p/11249220.html
總結
以上是生活随笔為你收集整理的SDNU 1469.校门外的树(水题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDNU 1474.特殊回文数(水题)
- 下一篇: HDFS 块