哈理工OJ 1674 充電(貪心演算法)

2021-07-12 04:08:43 字數 1083 閱讀 8420

充電 time limit: 1000 ms memory limit: 32768 k

total submit: 122(55 users) total accepted: 60(51 users) rating: special judge: no

description

玻璃小屋內有n個插排,屋內有 m 個需要供電的機器,並且牆上有k個可以直接使用的插口。知道了每個插排上的插口的個數,並且所有的插頭和插口都是可以匹配的。問你最少用幾個插排可以讓所有機器都供上電?

input

多組測試資料,每組第一行輸入n, m, k。(1 ≤ n, m, k ≤ 50)

第二行有n個數,分別表示每個插排上插口的個數。

output

輸出最少需要幾個插排。如果有電器無法充上電則輸出-1。

每組輸出佔一行。

sample input

3 5 3

3 1 2

4 7 2

3 3 2 4

5 5 1

1 3 1 2 1

sample output

1本題的解題思路如下:

首先,乙個插排占用乙個可以直接使用的插口。

(上面這點如果想不清楚的話,這個題不用做了)

下面就開始分情況討論了。先判斷不用插排是不是可以直接完成任務需要,其次的話,就開始模擬過程了,先給序列從大到小進行排序,排序完之後就是模擬過程了,給出乙個位置給插孔數最多的插排。

下面是ac**:

#include

#include

#include

using

namespace

std;

int a[550];

bool cmp(int x,int y)

int main()

sort(a,a+n,cmp);

int sum=0;

if(k-m>=0)

else

}if(flag==0)

}memset(a,0,sizeof(a));

}return

0;}

哈理工OJ 1192 追逐(貪心演算法)

追逐 time limit 1000 ms memory limit 65536 k total submit 140 68 users total accepted 75 64 users rating special judge no description hero 為了princess能夠開...

oj 75 貪心演算法

include include include using namespace std struct sadata 1001 intcmp const sa a,const sa b intmain sort data,data n,cmp for i 0 i else printf 3f n su...

oj題目 堆石塊 貪心演算法

題目描述 小k沒事幹,他要搬磚頭,為了達到較好的 效果,教練規定的方式很特別 每一次,小k可以把兩堆磚頭合併到一起,消耗的體力等於兩堆磚頭的重量之和。經過 n 1次合併後,就只剩下一堆了。小k在搬磚頭時總共消耗的體力等於每次合併所耗體力之和。小k為了偷懶,希望耗費的體力最小。例如有 3堆磚頭,數目依...