7620 區間合併

2021-08-05 23:25:05 字數 1356 閱讀 7379

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

] 不可以合併。

我們的任務是判斷這些區間是否可以最終合併為乙個閉區間,如果可以,將這個閉區間輸出,否則輸出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

**習題(14-8)

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

#define max 1000001

//int a[max][max];

//int b[max][max];

//int res[max][max];

char c1[200];

char c2[200];

struct node;

bool cmp(node a, node b)

return a.x < b.x;

}//這個是 有點像貪心演算法?

int main()

sort(node, node + n, cmp); //先排序

int begin = node[0].x; //記第乙個起始位置和結束位置

int end = node[0].y;

for(int i = 1; i < n; i++)

}else

}cout << begin << " " << end << endl;;

return 0;

}

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。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間...