DFS之剪枝與優化 小貓爬山

2021-10-03 09:05:23 字數 600 閱讀 1110

題目大意:n只貓下山,每只貓都有不同的重量,讓他們坐纜車下山,纜車有乙個最大承重樑,最少用多少纜車可以把這些貓都運下去

思路:列舉每乙隻貓,質量從大到小,使分支最少,每只貓可以加入已有的纜車或者開一輛新車

#include

#include

#include

using

namespace std;

const

int n =20;

int n, m;

int w[n]

;int sum[n]

;int ans = n;

void

dfs(

int u,

int k)

for(

int i =

0; i < k; i ++)if

(sum[i]

+ w[u]

<= m)

sum[k]

= w[u]

;dfs

(u +

1, k +1)

; sum [k]

-= w[u];}

intmain()

小貓爬山 dfs 剪枝

翰翰和達達飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了 嗚咕 翰翰和達達只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1 c2 cn。當然,每輛纜車上的小貓的重量之和不能超過w。每租用一輛纜車,翰翰和達...

ACWing 165 小貓爬山 DFS剪枝

翰翰和達達飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了 嗚咕 翰翰和達達只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1 c2 cn。當然,每輛纜車上的小貓的重量之和不能超過w。每租用一輛纜車,翰翰和達...

小貓爬山(dfs)

時間限制 1 sec 記憶體限制 128 mb 題目描述 freda和rainbow飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了 嗚咕 freda和rainbow只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分...