日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

luogu P1361 小猫爬山 [iddfs]

發(fā)布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 luogu P1361 小猫爬山 [iddfs] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

WD和LHX飼養(yǎng)了N只小貓,這天,小貓們要去爬山。經(jīng)歷了千辛萬苦,小貓們終于爬上了山頂,但是疲倦的它們再也不想徒步走下山了。

WD和LHX只好花錢讓它們坐索道下山。索道上的纜車最大承重量為W,而N只小貓的重量分別是C1、C2……CN。當(dāng)然,每輛纜車上的小貓的重量之和不能超過W。每租用一輛纜車,WD和LHX就要付1美元,所以他們想知道,最少需要付多少美元才能把這N只小貓都運(yùn)送下山?

輸入輸出格式

輸入格式:

第一行包含兩個用空格隔開的整數(shù),N和W。

接下來N行每行一個整數(shù),其中第i+1行的整數(shù)表示第i只小貓的重量C i。

輸出格式:

輸出一個整數(shù),最少需要多少美元,也就是最少需要多少輛纜車。

輸入輸出樣例

輸入樣例#1:
5 1996 1 2 1994 12 29 輸出樣例#1:
2

說明

數(shù)據(jù)范圍與約定

對于100%的數(shù)據(jù),1<=N<=18,1<=C i <=W<=10^8。


?

My Solution

都已經(jīng)是蒟蒻了solution寫長一點(diǎn)吧

迭代加深排序iddfs的膜版之一,k從sum(data[0],data[1],...,data[n-1])/q到n之間

k表示最小可行答案(就是最后的答案啦)

注意data[0...n-1]從小到大排序

結(jié)果還是很短啊

1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 using namespace std; 6 7 inline int read(){ 8 char ch; 9 int re=0; 10 while((ch=getchar())<'0'||ch>'9'); 11 re=ch-'0'; 12 while((ch=getchar())>='0'&&ch<='9') re=re*10+ch-'0'; 13 return re; 14 } 15 16 const int maxn=19; 17 int data[maxn]; 18 int q,n; 19 int k=0; 20 bool ok=0; 21 int car[maxn]={0}; 22 23 void init(){ 24 n=read(),q=read(); 25 for(int i=0;i<n;i++){ 26 data[i]=read(); 27 k+=data[i]; 28 } 29 k/=q; 30 } 31 32 void iddfs(int pos){ 33 if(pos==n){ 34 ok=1; 35 return; 36 } 37 for(int i=1;i<=k;i++) 38 if(car[i]+data[pos]<=q){ 39 car[i]+=data[pos]; 40 iddfs(pos+1); 41 car[i]-=data[pos]; 42 if(ok) return; 43 } 44 } 45 46 inline bool compp(const int &n1,const int &n2){ 47 return n1>n2; 48 } 49 50 void solve(){ 51 sort(data,data+n,compp); 52 while(k<=n){ 53 iddfs(0); 54 if(ok){ 55 printf("%d\n",k); 56 return; 57 } 58 k++; 59 } 60 } 61 62 int main(){ 63 //freopen("temp.in","r",stdin); 64 init(); 65 solve(); 66 return 0; 67 }
別害怕別害怕 ?只是悲歡離合的夢啊

轉(zhuǎn)載于:https://www.cnblogs.com/ZYBGMZL/p/6857434.html

總結(jié)

以上是生活随笔為你收集整理的luogu P1361 小猫爬山 [iddfs]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。