国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ALGO-29 算法訓練 校門外的樹

2019-11-08 02:19:01
字體:
來源:轉載
供稿:網友

 ALGO-29  校門外的樹(區間處理)

問題描述

某校大門外長度為L的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1米。我們可以把馬路看成一個數軸,馬路的一端在數軸0的位置,另一端在L的位置;數軸上的每個整數點,即0,1,2,……,L,都種有一棵樹。 由于馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止點的坐標都是整數,區域之間可能有重合的部分。現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走。你的任務是計算將這些樹都移走后,馬路上還有多少棵樹。 輸入數據輸入的第一行有兩個整數L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表馬路的長度,M代表區域的數目,L和M之間用一個空格隔開。接下來的M行每行包含兩個不同的整數,用一個空格隔開,表示一個區域的起始點和終止點的坐標。輸出要求輸出包括一行,這一行只包含一個整數,表示馬路上剩余的樹的數目。輸入樣例500 3150 300100 200470 471輸出樣例298

思路:利用桶排序中的思想,將在此區域中的值標記,最后遍歷所有值,計數未標記的值有多少,再打印這個 計數值。

#include <iostream>

#include <vector>using namespace std;int main(){int l,m;cin>>l>>m;vector<int> v(l+1,1); //注意此處針對vector的用法,對于vector向量中的l+1個數值賦值1for(int i=0;i<m;i++) {int a,b;cin>>a>>b;for(int j=a;j<=b;j++) {  //對于a、b區間的數值,賦值為0,表示需要建地鐵從而挖去樹v[j]=0;}}int cnt=0;for(int i=0;i<l+1;i++) { //遍歷[0,l+1]區間,計算未被挖走的樹if(v[i]==1)cnt++;}cout <<cnt;return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清水县| 奉贤区| 扬州市| 沙坪坝区| 专栏| 灵川县| 正定县| 金堂县| 灵台县| 安龙县| 大埔区| 景谷| 大足县| 东港市| 大宁县| 东城区| 边坝县| 金溪县| 德令哈市| 龙里县| 加查县| 亳州市| 乌恰县| 黄浦区| 定结县| 咸阳市| 闽侯县| 乌拉特前旗| 黄浦区| 汽车| 南皮县| 读书| 高要市| 卢氏县| 永安市| 边坝县| 拉萨市| 环江| 双辽市| 闽清县| 辽中县|