国产探花免费观看_亚洲丰满少妇自慰呻吟_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學習總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄山市| 仁布县| 含山县| 建平县| 蓬安县| 临西县| 江都市| 莫力| 通州市| 兴仁县| 芦山县| 永兴县| 渭南市| 铜川市| 芜湖县| 达拉特旗| 怀仁县| 武冈市| 大名县| 湖南省| 徐汇区| 龙里县| 库尔勒市| 华容县| 黄平县| 石嘴山市| 即墨市| 咸阳市| 毕节市| 斗六市| 疏附县| 石河子市| 喀喇沁旗| 松原市| 延安市| 河津市| 潼南县| 如东县| 柏乡县| 永康市| 凤台县|