本題是貪心算法,還算比較簡單啦。思路是:先找結束時間最早的一個電視節目。因為假使節目的結束時間變晚,就有可能會阻擋住下一個節目的開始時間,那樣的話最后收看的電視節目數不會再多,也就是結果不會變得更好。 也就是說,我只需要對n個電視節目的結束時間進行遞增排序。如果結束時間相同,因為我需要對n個電視節目都進行判斷,在這時我需要讓節目的開始事件遞增排序。 能夠做到這一條件的有sort函數。今天好不容易學會了sort函數的使用方法,也就是先要include頭文件algorithm,再使用命名空間std。然后自己編一個小的cmp函數作為sort的第三個變量就好啦!
bool cmp(PRogram a,program b){ if(a.end!=b.end) return a.end<b.end; return a.begin<b.begin;}收工!
新聞熱點
疑難解答