nssl1320,jzoj(初中)2108-买装备【dfs,水题】
生活随笔
收集整理的這篇文章主要介紹了
nssl1320,jzoj(初中)2108-买装备【dfs,水题】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
正題
題目大意
nnn個(gè)物品有ai,bi,via_i,b_i,v_iai?,bi?,vi?,要求
選擇若干個(gè)物品使得aia_iai?之和大于AAA,bib_ibi?之和大于BBB,viv_ivi?之和最小
解題思路
暴力dfsdfsdfs選哪些。
時(shí)間復(fù)雜度O(2n)O(2^n)O(2n)
codecodecode
#include<cstdio> #include<algorithm> using namespace std; const int N=23; int a,b,n,ans; int w[N],v[N],p[N]; void dfs(int dep,int A,int B,int cost) {if(A>=a&&B>=b){ans=min(ans,cost);return;}if(dep>n)return;dfs(dep+1,A+w[dep],B+v[dep],cost+p[dep]);dfs(dep+1,A,B,cost); } int main() {scanf("%d%d%d",&a,&b,&n);for(int i=1;i<=n;i++)scanf("%d%d%d",&w[i],&v[i],&p[i]);ans=2147483647;dfs(1,0,0,0);printf("%d",ans); } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的nssl1320,jzoj(初中)2108-买装备【dfs,水题】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 键盘如何选择键盘选择
- 下一篇: nssl1321,jzoj(初中)210