国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡东县| 高密市| 朝阳区| 奇台县| 卓资县| 东港市| 美姑县| 上林县| 彩票| 吉水县| 满洲里市| 正阳县| 山西省| 南投县| 天水市| 虎林市| 五华县| 彩票| 电白县| 宿迁市| 融水| 双桥区| 镇康县| 锡林浩特市| 青神县| 探索| 绩溪县| 酉阳| 铜陵市| 霸州市| 浦城县| 营口市| 山阴县| 南木林县| 高州市| 门头沟区| 平南县| 新安县| 安仁县| 自贡市| 宁都县|