分析
這個問題可以概括為輸入乙個大的整數閉區間,及一些可能相互重疊的在該大區間內的小的整數閉區間。在大的整數閉區間內去除這些小的整數閉區間,問之後剩下的可能不連續的整數區間內有多少個整數。
可以採用用空間換時間的方法,用乙個陣列來模擬這些區間,類似於位向量的辦法。在陣列中乙個數代表一棵樹,若沒移走,為1,移走為0。每輸入乙個區間,就將區間內的數置為0,最後統計1的個數即為剩餘的樹的棵樹。
**
#include
using namespace std;
int main()
int count=0;
for(i=0;i<=l;i++)
cout<
經驗:
學會使用一些資料結構簡化程式設計過程。
POJ 2808 校門外的樹
時間限制 1000m 記憶體限制 65536kb 描述某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。馬路上有一些區域要用來建地鐵,這些區域用它們在數軸...
2 2校門外的樹 POJ 2808(動態申請空間)
note c 不能用變數定義陣列長度,應通過指標來動態申請空間,實現動陣列長度的變數賦值。eg int a new int i i為變數 問題描述 某校門外長度為l的馬路上有一排樹,每兩顆相鄰的樹之間的間隔都是1m。可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數...
百練 2808 校門外的樹
描述 某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。馬路上有一些區域要用來建地鐵,這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終...