牛客網機試題 KY25 剩下的樹

2021-10-09 05:29:47 字數 1096 閱讀 2494

有乙個長度為整數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組整數,每組有一對數字。

輸出描述:

可能有多組輸入資料,對於每組輸入資料,輸出乙個數,表示移走所有區間的樹之後剩下的樹的個數。

示例1輸入

500

3100

200150

300470

471

輸出

298
錯誤**

#include

using

namespace std;

intmain()

for(

int i =

0; i < m -

1; i++

) cout << rest;

}

**可以通過示例但是不能通過題中的測試用例,目前沒有發現具體錯誤在哪

檢視通過**,有一位大佬用的陣列,遂受到啟發,真的是太妙了,一分鐘就編出來通過了。

#include

using

namespace std;

intmain()

int j=0;

for(

int i=

0;iint num=0;

for(

int i=

0;i1;i++

) cout<}

思路:用陣列存1表示樹還在,存0表示已去掉,最後數1的個數表示剩下的樹。

牛客網機試題 N的階乘

輸入乙個正整數n,輸出n的階乘 正整數n 0 n 1000 輸入可能包括多組資料,對於每一組輸入資料,輸出n的階乘 4 5 15 24 120 1307674368000 include define n 10000 int main if carry res bit carry 依次從當前位到最高...

牛客網 剩下的樹

題目描述 有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間 包括端點 所有的樹。...

牛客網 剩下的樹 線段樹入門

mn o mn o mn 複雜度都可以過,可以見得資料之水當然這道題的資料量本身也是符合這個複雜度的,ps fill和memset別用得太多,有時候會被卡死 include include include include include include include include using n...