日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

修地铁站移树

發(fā)布時間:2023/12/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修地铁站移树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

修地鐵站移樹

作者: XXX 時間限制: 10S 章節(jié): 一維數組

問題描述 :

明明是一家地鐵建設公司的職員,他負責地鐵線路的規(guī)劃和設計。一次,明明要在一條長L的馬路上建造若干個地鐵車站。

這條馬路有一個特點,馬路上種了一排樹,每兩棵相鄰的樹之間的間隔都是一米。

如果把馬路看成一個數軸,馬路的一端在數軸0的位置,馬路的另一端在L的位置,那么這些樹都種在數軸的整數點上,即0,1,2,…,L上都種有一棵樹。

由于要設計建造地鐵站的緣故,所以需要把一些樹移走,明明為了移樹的方便,把地鐵站的區(qū)域也建在了數軸上兩個整數點之間,由于有多條地鐵線路,地鐵車站的區(qū)域可能會有部分的重合(重合的區(qū)域明明將來會設計成一個大型的車站,移樹的時候不必考慮地鐵站重合區(qū)域的問題)。

現在明明想請你幫一個忙,他把車站區(qū)域的位置告訴你,即告訴你數軸上的兩個整數點,在這兩個整數點之間是車站的區(qū)域,請你寫一個程序,計算出把所有車站區(qū)域兩點之間的樹移走以后,這條馬路上還剩多少棵樹。

例如:馬路長為10,要建造2個地鐵車站,車站的區(qū)域分別是2到5和3到6,原先的馬路上一共有11棵樹,在2到5的位置上建車站后,需要移走4棵樹,在3到6的位置上建車站后,也需要移走4棵樹,但是3到6這個區(qū)域和2到5這個區(qū)域有部分重合,所以只需移走1棵樹即可,這樣總共移走的樹是5棵,剩下的樹就是6棵。

明明的問題可以歸結為:給你一條馬路的長度和若干個車站的位置,請你用程序計算出把樹移走后,馬路上還剩多少棵樹。

輸入說明 :

你寫的程序要求從標準輸入設備中讀入測試數據作為你所寫程序的輸入數據。標準輸入設備中有多組測試數據,每組測試數據有多行,每組測試數據的第一行有兩個整數L(1≤L≤10000)和M(0≤M≤100),分別表示馬路的長度和地鐵車站區(qū)域的個數。接下來有M行,每行有2個整數,分別表示每一座地鐵車站區(qū)域的兩個坐標的。每組測試數據與其后一組測試數據之間沒有任何空行,第一組測試數據前面以及最后一組測試數據后面也都沒有任何空行。

輸出說明 :

對于每一組測試數據,你寫的程序要求計算出一組相應的運算結果,并將每組運算結果作為你所寫程序的輸出數據依次寫入到標準輸出設備中。每組運算結果為一個整數,即把樹移走后,馬路上還剩下多少棵樹。每組運算結果單獨占一行,其行首和行尾都沒有任何空格或其他任何字符,每組運算結果與其后一組運算結果之間沒有任何空行或其他任何字符,第一組運算結果前面以及最后一組運算結果后面也都沒有任何空行或其他任何字符。 注:通常,顯示屏為標準輸出設備。

輸入范例 :

5 1
1 2
10 2
2 5
3 6

輸出范例 :

4
6

#include<stdio.h> int max(int x,int y){int z=x>y?x:y;return z; } int min(int x,int y){int z=x<y?x:y;return z; } int main(){int L,M;while(scanf("%d %d",&L,&M)!=EOF){int b[10000]={0};//初始化所有的樹為0int i=0,j=1,k=0;while(M--){ scanf("%d",&i);scanf("%d",&j);//每次輸入兩個數,表示區(qū)域范圍for(k=min(i,j);k<=max(i,j);k++){b[k]=1;//將地鐵站區(qū)域的樹置為1}getchar(); }int m,count=0;for(m=0;m<=L;m++){if(b[m]==0)count++;//統計仍為0的樹的個數}printf("%d\n",count);}return 0; }

總結

以上是生活随笔為你收集整理的修地铁站移树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。