時間限制: 1 sec
記憶體限制: 32 mb
提交: 7
解決: 6 [
提交][
狀態][
討論版]
暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。
現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?
輸入包含多組測試資料。每組輸入的第一行是乙個整數n(n<=100),表示小明喜歡的節目的總數。
接下來n行,每行輸入兩個整數si和ei(1<=i<=n),表示第i個節目的開始和結束時間,為了簡化問題,每個時間都用乙個正整數表示。
當n=0時,輸入結束。
對於每組輸入,輸出能完整看到的電視節目的個數。
121 33 4
0 73 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 90
5提示
分析:首先進行結構體排序,這道題的關鍵就在於結構體排序時所選用的排列方法,如果以電視節目的開始時間排序的話,那麼可能出現電視節目放的早結束的晚這種情況,這顯然不是最優解,所以我們對電視節目的結束時間進行排序,這樣向下遍歷,因為是按結束順序排列的,向下遍歷的時候只會提前到達目標位置。這樣的結果就是最優的解。
#include using namespace std;
struct node;
node a[105];
bool cmp(node a,node b)
}cout<
問題 A 看電視 區間貪心演算法
題目描述 暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei ...
貪心問題 A 看電視
題目描述 暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入 輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei...
區間排程問題(貪心)
問題描述 有n項工作,每項工作分別在si開始,ti結束。對每項工作,你都可以選擇參加或不參加,但選擇了參加某項工作就必須至始至終參加全程參與,即參與工作的時間段不能有重疊 即使開始的時間和結束的時間重疊都不行 問最多可以完成多少項工作?限制條件 1 n 100000 1 si ti 10 9 第二行...