[提交][狀態][討論版][命題人:外部匯入]
有乙個長度為整數l(1<=l<=10000)的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,...,l共l+1個位置上有l+1棵樹。 現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間(包括端點)所有的樹。 可能有m(1<=m<=100)個區間,區間之間可能有重疊。現在要求移走所有區間的樹之後剩下的樹的個數。
兩個整數l(1<=l<=10000)和m(1<=m<=100)。 接下來有m組整數,每組有一對數字。
可能有多組輸入資料,對於每組輸入資料,輸出乙個數,表示移走所有區間的樹之後剩下的樹的個數。
4 21 20 2
11 2
1 54 7
0 0
2ac**:5思想:首先對輸入的區間進行一stat的公升序排序,然後進行遍歷,並實時記錄最大的end,判斷第i+1的start-maxend是否大於2
若是大於則將sum+=a[i+1]-maxend-1.
#include #include#include
#define max 10005
using
namespace
std;
struct
range
tree[max];
bool
compare(range a,range b)
int main(void
)
if(tree[n].end>maxend)
maxend=tree[n].end;
sum+=l-maxend;
printf(
"%d\n
",sum);
}fclose(stdin);
return0;
}
codeup 剩下的樹
有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間 包括端點 所有的樹。可能有m ...
Codeup剩下的樹
時間限制 1 sec 記憶體限制 32 mb 有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從10...
codeup 1814 剩下的樹
題目描述 有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個 整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間 包括端點 所有的樹...