【题解】Healthy Holsteins
2016-02-15 15:09
260 查看
来源于USACO Training Gateway
重拾OI后的第一道水题,却调了一定时间,主要是边界没考虑好,这次写代码习惯倒是不错,简单的DFS,关键还是在于退出边界设置。
代码挺丑的。
重拾OI后的第一道水题,却调了一定时间,主要是边界没考虑好,这次写代码习惯倒是不错,简单的DFS,关键还是在于退出边界设置。
代码挺丑的。
#include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int v,g,t; int m=100; int w[30],s[20][30],f[20],r[20]; void work(int d) { int i,c=0; if(d>g+1) return; int b=1; for(i=1;i<=v;i++) if(w[i]>0) { b=0; break; } if(b==1) { if(m>t) { m=t; for(i=1;i<=g;i++) if(f[i])r[++c]=i; } return; } f[d]=1; t++; for(i=1;i<=v;i++) w[i]-=s[d][i]; work(d+1); f[d]=0; t--; for(i=1;i<=v;i++) w[i]+=s[d][i]; work(d+1); } int main() { cin>>v; for(int i=1;i<=v;i++) cin>>w[i]; cin>>g; for(int i=1;i<=g;i++) for(int j=1;j<=v;j++) cin>>s[i][j]; work(1); cout<<m<<" "; for(int i=1;i<=m;i++) cout<<r[i]<<" "; }
相关文章推荐
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- win2003分布式文件系统(dfs)配置方法[图文详解]
- win2003分布式文件系统及其部署 图文教程
- Hadoop2.6+jdk8的安装部署(1)——使用jar包安装部署【详细】
- Hadoop FS Shell
- DFS使用方法总结
- FastDFS注意事项
- 无忧技术带您预览DFS(分布式文件系统)管理控制台
- C 语言实现迷宫 DFS算法
- 一幅图弄清DFT与DTFT,DFS的关系
- HDFS---Namenode
- HDFS ---- Services startup
- POJ1523 SPF dfs
- poj1731 Orders dfs
- Surrounded Regions
- Binary Tree Zigzag Level Order Traversal,Restore IP Addresses,Word Search,Simplify Path
- HDU1241 Oil Deposits
- ZOJ Problem Set - 1711 解题报告
- ZOJ Problem Set - 2412解题报告
- ZOJ Problem Set - 1457 解题报告