USACO Healthy Holsteins
2012-06-27 17:39
288 查看
深搜,注意剪枝
http://hi.baidu.com/kaik51/blog/item/c566d2c4fab741c339db491a.html
/* ID: wangxin12 PROG: holstein LANG: C++ */ #include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; int V; vector<int> need; int G; int feeds[15][25] = { 0 }; bool selected[15] = {false}; int least = 16; vector<int> result; bool check() { int needs[25] = { 0 }; int sum = 0; for(int m = 0; m < G; m++) { if(selected[m]) sum++; } if(sum >= least) return false; for(int i = 0; i < V; i++) { for(int j = 0; j < G; j++) { if(selected[j]) { needs[i] += feeds[j][i]; } } } for(int k = 0; k < V; k++) { if(needs[k] < need[k]) return false; } return true; } void update() { result.clear(); int sum = 0; for(int i = 0; i < G; i++) { if(selected[i]) { sum++; result.push_back(i+1); } } least = sum; } void DFS(int level) { if(level >= G) return; selected[level] = true; if(check()) update(); else DFS(level + 1); selected[level] = false; if(check()) update(); else DFS(level + 1); return; } int main() { //input ifstream fin("holstein.in"); fin>>V; int i = 0, j = 0; int temp; for(i = 0; i < V; i++) { fin>>temp; need.push_back(temp); } fin>>G; for(i = 0; i < G; i++) { for(j = 0; j < V; j++) { fin>>temp; feeds[i][j] = temp; } } fin.close(); //calculate DFS(0); //Output ofstream fout("holstein.out"); fout<<least<<" "; for(temp = 0; temp < result.size() - 1; temp++) fout<<result[temp]<<" "; fout<<result[temp]<<endl; fout.close(); return 0; }
http://hi.baidu.com/kaik51/blog/item/c566d2c4fab741c339db491a.html
相关文章推荐
- usaco Healthy Holsteins individual report
- usaco Healthy Holsteins
- usaco Healthy Holsteins
- USACO Healthy Holsteins 健康的好斯坦奶牛
- usaco Healthy Holsteins
- USACOTrainning.Healthy Holsteins
- 加上减去DFS解决USACO Healthy Holsteins
- USACO Healthy Holsteins DFS
- USACO / Healthy Holsteins (经典的DFS题目)
- USACO Healthy Holsteins
- USACO 2.1 Healthy Holsteins <0/1枚举>
- USACO Healthy Holsteins(二进制枚举子集)
- USACO Healthy Holsteins
- Healthy Holsteins chapter 2.1
- USACO 2.1.4Healthy Holsteins
- USACO 2.1.4 Healthy Hosteins
- BZOJ3476 : [Usaco2014 Mar]The Lazy Cow
- [USACO1.3]混合牛奶 Mixing Milk
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间 (动态规划)
- [BZOJ2199][Usaco2011 Jan][2-SAT]奶牛议会