小貓爬山(搜尋)

2021-09-23 20:31:31 字數 1188 閱讀 2521

題目描述

freda和rainbow飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了(嗚咕》_<)。

freda和rainbow只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1、c2……cn。當然,每輛纜車上的小貓的重量之和不能超過w。每租用一輛纜車,freda和rainbow就要付1美元,所以他們想知道,最少需要付多少美元才能把這n只小貓都運送下山?

輸入

第一行包含兩個用空格隔開的整數,n和w。

接下來n行每行乙個整數,其中第i+1行的整數表示第i只小貓的重量ci。

輸出

輸出乙個整數,最少需要多少美元,也就是最少需要多少輛纜車。

樣例輸入

5 199612

1994

1229

樣例輸出

2提示

對於100%的資料,1<=n<=18,1<=ci<=w<=10^8。

思路

暴力搜尋找最小纜車數量

**實現

#includeusing namespace std;

typedef long long ll;

const int n=100;

const int mod=1e9+7;

const double eps=1e-10;

int cat[n],car[n];

int ans,n,w;

bool cmp(int a,int b)

void dfs(int now,int cnt)

for(int i=1;i<=cnt;i++)

}car[cnt+1]=cat[now];

dfs(now+1,cnt+1);

car[cnt+1]=0;

}int main()

sort(cat+1,cat+n+1,cmp);

ans=n;

dfs(1,0);

printf("%d\n",ans);

return 0;

}

小貓爬山(深度搜尋)

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

小貓爬山(dfs)

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

AcWing 小貓爬山

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