農夫約翰正在分配他的一些牛(1<=n<=25,000)在穀倉周圍做一些清潔工作。他總是希望有乙隻牛在清理東西,並把一天分成t班(1<=t<=1 000 000),第一次是輪班1,最後一次是輪班t。
每頭奶牛只能在白天的某一段時間內進行清潔工作。任何被挑選來做清潔工作的母牛都會在整個時間間隔內工作。
你的工作是幫助農夫約翰分配一些牛來輪班,這樣(一)每班至少有一頭牛被分配給它,和(二)盡可能少的奶牛參與清潔。如果不可能為每班分配一頭牛,請列印-1。
輸入*第1行:兩個空格分隔的整數:n和t
*第2行.n+1:每一行都包含奶牛可以工作的間隔的開始和結束時間。母牛在開始時開始工作,在結束時間後結束工作。
輸出量*第1行:農場主約翰需要雇用的牛的最低數量,或-1,如果不可能為每班分配一頭牛。
樣本輸入
3 10
1 73 6
6 10
樣本輸出
2
暗示
這個問題有大量的輸入資料,使用scanf()代替cin來讀取資料,以避免超過時間限制。
輸入詳情:
有3頭母牛和10班輪班。牛#1可以工作1.7,牛#2可以工作3.6,牛#3可以工作6.10。
產出詳情:
通過選擇牛#1和#3,所有的輪班都包括在內。沒有辦法用不到兩頭牛來覆蓋所有的輪班。
#include#includeusing namespace std;
struct nodecow[25010];
int cmp(struct node a,struct node b)
if(cow[i].st==cow[j].st&&cow[i].end>cow[j].end)
} }*/ //加注釋部分排序錯誤
long long stop,big=0,i=0;
while(ibig)
big=cow[i].end;
i++;
} //如果big>stop,說明此牛可行;如果不可行,之後再也不會進入內層的while迴圈
if(big>=stop)
i--;//緩衝一下內層while迴圈的最後的i++;
} i++;
} if(big>=t)
printf("%d\n",count);
else printf("-1\n");
return 0;
}
我被人坑了。。。
在車上,繼續去南京看房,手機碼字,沒啥格式,大家見諒了 說的好像我之前寫的文章有啥排版格式一樣 不少人知道我前段時間租了乙個辦公室,乙個不知名公司的,具體哪家我就不說了,後來因為有一些原因我要退租。結果被坑了一波,具體說說啥坑。租這個辦公室的時候我交了五個月房租錢,押二付三,押金兩個月,付了三個月錢...
linux 我被坑了
usr bin vi bashrc 配置jdk時候root環境下 亂修改了一些變數導致不可用。內容 1 source etc environment,轉到自己沒有修改過的path的檔案,然後ls命令就可以用了 2 找到自己修改過的path檔案,我的是 bashrc檔案 3 vim bashrc,對錯...
坑死我啊,乙個WPF Adorner使用注意事項
專案中遇到這樣的要求,乙個button用乙個adorner裝飾,這個adorner上又有乙個button,如下面這樣 此時,我們在點選小button的時候只希望處理小button的事件,可是這時候,居然大button的事件也觸發了。按道理上講,adorner和button不在視覺化樹的乙個層次上,即...