国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

usaco_Healthy Holsteins_dfs

2019-11-14 08:59:53
字體:
來源:轉載
供稿:網友

題目描述

農民JOHN以擁有世界上最健康的奶牛為傲。他知道每種飼料中所包含的牛所需的最低的維他命量是多少。請你幫助農夫喂養他的牛,以保持它們的健康,使喂給牛的飼料的種數最少。

給出牛所需的最低的維他命量,輸出喂給牛需要哪些種類的飼料,且所需的飼料劑量最少。

維他命量以整數表示,每種飼料最多只能對牛使用一次,數據保證存在解。


思路

暴力搜索每一個點,選或不選,如果當前個數比最小個數要小就搜下去,不然就退出 O(2^m)


/*ID: a1192631PROG: holsteinLANG: C++*/#include <stdio.h>int a[26][26];int f[26],fl[26],ll[26];int n,m,ans=0,min=1000;int dfs(int dep){ if (dep>m) return 0; int t=0; for (int i=1;i<=n;i++) { f[i]-=a[dep][i]; if (f[i]<=0) t++; } fl[dep]=1; ans++; if (t==n) { for (int i=1;i<=m;i++) ll[i]=fl[i]; min=ans; } if (ans+1<min) dfs(dep+1); fl[dep]=0; ans--; for (int i=1;i<=n;i++) { f[i]+=a[dep][i]; } dfs(dep+1);}int main(){ freopen("holstein.in", "r", stdin); freopen("holstein.out", "w", stdout); scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&f[i]); scanf("%d",&m); for (int i=1;i<=m;i++) for (int j=1;j<=n;j++) scanf("%d",&a[i][j]); dfs(1); printf("%d",min); for (int i=1;i<=m;i++) if (ll[i]==1) printf(" %d",i); printf("/n");}
上一篇:數的長度

下一篇:Mybatis學習總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 出国| 巴林右旗| 大厂| 镇安县| 辽源市| 竹北市| 苍山县| 舞阳县| 河津市| 通江县| 桐城市| 天等县| 平和县| 井冈山市| 罗定市| 梧州市| 绥中县| 镇赉县| 湟源县| 竹溪县| 同江市| 剑川县| 沈丘县| 米脂县| 阿鲁科尔沁旗| 海南省| 桐柏县| 建湖县| 衡山县| 达州市| 北宁市| 成安县| 平凉市| 巫溪县| 镇坪县| 临城县| 抚远县| 丹阳市| 睢宁县| 海阳市| 通山县|