《演算法筆記》4.3小節-貪心
問題 a: 看電視
題目描述
暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。
現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?
輸入
輸入包含多組測試資料。每組輸入的第一行是乙個整數n(n<=100),表示小明喜歡的節目的總數。
接下來n行,每行輸入兩個整數si和ei(1<=i<=n),表示第i個節目的開始和結束時間,為了簡化問題,每個時間都用乙個正整數表示。
當n=0時,輸入結束。
輸出
對於每組輸入,輸出能完整看到的電視節目的個數。
樣例輸入
121 3
3 40 7
3 815 19
15 20
10 15
8 18
6 12
5 10
4 14
2 90
樣例輸出
5(1)先選擇左端點最大的區間
#include
#include
using
namespace std;
struct intervali[
110]
;bool
cmp(interval a,interval b)
intmain()
sort
(i,i+n,cmp)
;int ans=1;
int lastx=i[0]
.x;for
(int i=
1;iprintf
("%d\n"
,ans);}
return0;
}
(2)先選擇右端點最小的區間
#include
#include
using
namespace std;
struct intervali[
110]
;bool
cmp(interval a,interval b)
intmain()
sort
(i,i+n,cmp)
;int ans=1;
int lasty=i[0]
.y;for
(int i=
1;iprintf
("%d\n"
,ans);}
return0;
}
問題 A 看電視
暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei 1 i n 表...
問題 A 看電視
暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei 1 i n 表...
問題 A 看電視
暑假到了,小明終於可以開心的看電視了。但是小明喜歡的節目太多了,他希望盡量多的看到完整的節目。現在他把他喜歡的電視節目的轉播時間表給你,你能幫他合理安排嗎?輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示小明喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei 1 i n 表...