輸入包含多組測試資料。每組測試資料的第一行有三個正整數m,t,r(1 <= m, t, r <= 300)。第二行有m個整數wi(1 <= wi <= 300),代表每個鬼出現的時間。所有的wi都不相同並且從小到大排序。
對於每組測試資料,輸出一行,如果可以滿足條件則輸出最少需要的蠟燭數,否則輸出「-1」。
1 8 3 10
2 10 1
5 81 1 3
10 3
1 -1貪心: 點燃的蠟燭要盡量的少並且滿足條件,那麼點蠟燭的時機應該在鬼出現時的前r秒
不滿足條件的情況如下:
a.若蠟燭的燃燒時間+(第乙個鬼出現的時間-r)《第乙個鬼出現的時間,那麼肯定不滿足條件
b.在每個鬼出現時間的前r秒中,蠟燭的燃燒時間支撐不到鬼出現
#include#include#includeusing namespace std;
#define max 400
int solve(int *ghost,int n,int time,int r)
//num是點燃蠟燭的最佳時間
int num=ghost[i]-r+candle.size();
while(candle.size()!=r)
}return re;
}int main()
printf("%d\n",solve(ghost,n,time,r));
}return 0;
}
C Queue的簡單試用
新建乙個wpf專案,測試c 的queue類的簡單使用。前台準備兩個按鈕 mainwindow.xaml verticalalignment center content 加乙個元素 click add content 檢視佇列 click show stackpanel 後台 mainwindow ...
C queue 和 deque的區別
queue 例程1 queue沒找到迭代器 deque deque是雙向佇列double ended queue can be accessed with random access iterator deque是雙端佇列,是可以在兩端擴充套件和收縮的連續容器。一般deque的實現是基於某種形式的動...
c queue中的常用函式
在c 中只要 include即可使用佇列類,其中在面試或筆試中常用的成員函式如下 按照最常用到不常用的順序 push pop size empty front back 接下來逐一舉例說明 push 佇列中由於是先進先出,push即在隊尾插入乙個元素,如 queue q q.push hello w...