petya在大學學習。n個考試日作為本學期的結束。petya需要在這些特殊的日子裡通過m個考試。此問題中的特殊日期從1到n編號。
每個考試有三個值:
petya應該在si和di-1之間的天內準備第i次考試,包括在內。
petya每天有三種活動型別:花一天假裝鹹魚(休息),花一天時間通過一次考試,或花一天準備一次考試。所以他不能一天通過/準備多次考試。他不能在一天內混合他的活動。如果他在第j天準備第i次考試,那麼si≤j允許在準備考試時休息一段時間,並在連續幾天內為不同考試做準備。所以準備考試不需要連續幾天完成。
找到petya為所有考試做準備並通過考試的時間表,或者報告說這是不可能的。
input
第一行包含兩個整數n和m(2≤n≤100,1≤m≤n) - 天數和考試次數。
以下m行中的每一行都包含三個整數si,di,ci(1≤si保證所有的考試將在不同的日子。
output
如果petya無法準備並通過所有考試,請輸出-1。 在肯定答案的情況下,列印n個整數代表n天,其中第j個數字是:
考試從1開始編號。
如果有多個時間表,請列印其中的任何乙個。
sample input
input
5 2
1 3 1
1 5 1
output
1 2 3 0 3
input
3 2
1 3 1
1 2 1
output
-1
input
10 3
4 7 2
1 10 3
8 9 1
output
2 2 2 1 1 0 4 3 4 4
sample output
hint
例如,第乙個例子中,petya可以在第一天為第一天的考試做準備,在第二天為第二天的考試做好準備,在第三天通過考試1,在第四天鹹魚,在第五天通過考試2。 所以,他可以準備並通過所有考試。
在第二個例子中,有三天和兩次考試。 所以,petya只有一天做準備(因為在其他兩天裡他應該考試)。 然後petya無法準備並通過所有考試。
#include#include#include#include#includeusing namespace std;
struct node
cls[111];
int ans[111];
bool cmp(node a, node b)
int main()
sort(cls, cls + m, cmp);//根據考試日期從小到大排序
//類似會場安排,貪心
for (int i = 0; i < m && flag; i++)//有m場考試,進行m次迴圈
if (!ans[k])//ans陣列等於0時,進入if,即這一天不是考試日期
//因為前面已經把ans陣列裡考試日期賦成了m+1
k++;//日期往後加一天}}
if (flag)//flag為1,說明考試都準備完了
}else
return 0;
}
準備考試的啟示
年年歲歲花相似,又到了放假考試的日子,校園裡辦起了學風建設。其實不用辦,學風這些日子很好,又應該辦平日裡這樣了活動又如何著手辦呢。批評這種現象的文字太多了,我再說就是浪費各位和自己的時間。我們這一代人都不喜歡空洞的說教,也許古人也不喜歡,要不然 空洞 二字就不會在古文中出現。我擔心的不是為了考試臨時...
如何準備考PMP
去年9月參加的考試,備考的時間也不是很長,現在我就來根據我的經驗來簡單的講一下。我的備考時間大概在2個月的左右吧,這個過程並不漫長,剛開始還是有些壓力的後面就漸漸沒什麼壓力了。因為pmp考試報名要求35學時的培訓證明,所以我還是找一家pmi官方認可的培訓機構,跟著培訓機構制定的學習計畫一步步看書 聽...
2013第45周五準備考試
發現我漸漸陷入了為一些瑣事反覆思索的怪圈,想跳出去又總是被各種慣性束縛。其實很多問題不值得思考,比如先有雞先有蛋?你在這個問題上思考浪費再多的時間又能取得些什麼呢?管理好自己的焦點範圍很重要,多想象自己的能想到的各種邊境然後去突破,比如我想改變現在後達到的最好的狀態是什麼?周邊環境的關鍵的人事物。這...