7620 區間合併

2021-09-21 15:36:37 字數 1037 閱讀 4928

總時間限制: 1000ms 記憶體限制: 65536kb

描述

給定 n 個閉區間 [ai; bi],其中i=1,2,...,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,[1;2] 和 [2;3] 可以合併為 [1;3],[1;3] 和 [2;4] 可以合併為 [1;4],但是[1;2] 和 [3;4] 不可以合併。

我們的任務是判斷這些區間是否可以最終合併為乙個閉區間,如果可以,將這個閉區間輸出,否則輸出no。

輸入第一行為乙個整數n,3 ≤ n ≤ 50000。表示輸入區間的數量。

之後n行,在第i行上(1 ≤ i ≤ n),為兩個整數 ai 和 bi ,整數之間用乙個空格分隔,表示區間 [ai; bi](其中 1 ≤ ai ≤ bi ≤ 10000)。

輸出輸出一行,如果這些區間最終可以合併為乙個閉區間,輸出這個閉區間的左右邊界,用單個空格隔開;否則輸出 no。

樣例輸入

5

5 61 5

10 10

6 98 10

樣例輸出

1 10

1 #include2 #include3

struct

obj4

data[50005];7

8int cmp(const

void *a,const

void *b)//

按左端點公升序排序。左端點相等則按右端點降序排序。 918

int main(int argc, char *ar**)

1938

if(count==n)printf("

%d %d\n

",left,right);

39else printf("

no\n");

40return0;

41 }

應該與之前出現的最大的右端點作比較,而不是與上乙個右端點作比較

最後統計合併的區間的個數。假如合併的區間個數是n即可。

7620 區間合併

7620 區間合併 總時間限制 1000ms 記憶體限制 65536kb 描述 給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合...

7620 區間合併

總時間限制 1000ms 記憶體限制 65536kb 描述給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合併。我們的任務是判斷這...

803 區間合併

給定 n 個區間 l i,r i 要求合併所有有交集的區間。注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間...