今年暑假不AC (又是一道簡單的貪心)

2021-09-10 01:12:02 字數 1087 閱讀 9975

「今年暑假不ac?」

「是的。」

「那你幹什麼呢?」

「看世界盃呀,笨蛋!」

「@#$%^&*%…」

確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。

作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播(永遠不要忘記關心國家大事)、非常6+7、超級女生,以及王小丫的《開心辭典》等等,假設你已經知道了所有你喜歡看的電視節目的轉播時間表,你會合理安排嗎?(目標是能看盡量多的完整節目)

輸入資料報含多個測試例項,每個測試例項的第一行只有乙個整數n(n<=100),表示你喜歡看的節目的總數,然後是n行資料,每行包括兩個資料ti_s,ti_e (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

思路:把節目的起始和結束時間用結構體存,然後將結構體陣列按照結束時間從小到大排序,為什麼要這樣排序其實很容易想出來,因為結束的時間距離上個結束的時間越短,就說明整個前邊的節目時長也就越短,就說明可看的節目也就可能更多。但是我開始考慮,排序的時候要不要考慮節目的時長,但是想想其實是不用的,因為如果有一樣的結束時間的,首先不可行的就不說了,如果有兩個或兩個以上都可行,那麼無論這兩個節目的時間長短比較怎麼樣,對於節目的總數還是一樣的,都是加了1,因為這些可行的裡面總歸只能看乙個對吧,所以沒影響,只需要按照結束時間排序就好。

這個也比較簡單欸……

#include #include using namespace std;

struct node

a[105];

bool cmp(node x,node y)

}printf("%d\n",sum);

}return 0;

}

hdu2037 今年暑假不AC(簡單貪心)

題目 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u description 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作...

一道簡單的題目

這是校賽的一道題,當時覺得挺難,後來就覺得簡單,知道思路後就很好做了。題目是這樣子的 1008 植樹節b time limit 1 sec memory limit 128 mb submit 4 solved 4 submit status web board description 植樹節那天每...

一道簡單的題目

這是一道leetcode的題目,描述如下 given an unsorted integer array,find the first missing positive integer.for example,given 1,2,0 return 3,and 3,4,1,1 return 2.you...