POJ 1014 Dividing DFS搜索
来源:互联网 发布:淘宝实体店叫什么 编辑:程序博客网 时间:2024/06/06 10:59
题目大意:给定价值为1,2,,3,4,5,,6的物品的数量,问是否能划分成完全相等的两部分。
题目分析:题目的数据不大:所以我们可以直接DFS过掉
代码如下:
#include<cstdio>#include<iostream>using namespace std;int n[7];int SumValue;int HalfValue;bool flag;void Dfs(int value,int pre){if(flag)return;if(value==HalfValue){flag=true;return;}for(int i=pre;i>=1;i--){if(n[i]){if(value+i<=HalfValue){n[i]--;Dfs(value+i,i);if(flag)break;}}}return ;}int main(){int test=1;while(cin>>n[1]>>n[2]>>n[3]>>n[4]>>n[5]>>n[6]){SumValue=0;for(int i=1;i<=6;i++)SumValue+=i*n[i];if(SumValue==0)break;if(SumValue%2!=0){cout<<"Collection #"<<test++<<':'<<endl;cout<<"Can't be divided."<<endl<<endl; //注意有空行continue;}HalfValue=SumValue/2;flag=false;Dfs(0,6);if(flag){cout<<"Collection #"<<test++<<':'<<endl;cout<<"Can be divided."<<endl<<endl;continue;}else{cout<<"Collection #"<<test++<<':'<<endl;cout<<"Can't be divided."<<endl<<endl;continue;}}//while(1);return 0;}
0 0
- POJ 1014 Dividing DFS搜索
- poj 1014 Dividing (搜索:DFS)
- POJ 1014 Dividing dfs
- poj 1014 Dividing (dfs???)
- dfs-POJ-1014-Dividing
- poj 1014 Dividing (搜索)
- DFS(DP)---POJ 1014(Dividing)
- poj 1014 && zoj 1149 Dividing --- dfs剪枝
- POJ 1014.Dividing(DFS)
- POJ 1014 Dividing(DFS、完全背包、母函数)
- [poj 1014]Dividing的DFS解法解读和DP解法
- 1014 Dividing DFS
- POJ 1014 Dividing
- POJ 1014 Dividing
- poj 1014 Dividing
- poj 1014Dividing
- POJ 1014 Dividing
- POJ 1014 Dividing
- 广度优先算法(BFS)
- hdu 1431 素数回文
- 在.NET里面实现异常处理功能讨论(编写Try/Catch)
- POJ 1699 Best Sequence
- hdu2017字符串统计
- POJ 1014 Dividing DFS搜索
- HDU4961——Boring Sum(数论)
- Asp.Net 读取Excel内容超过255个字符被截断
- POJ 3187 Backward Digit Sums(dfs)
- 1408192106-hd-Fighting for HDU.cpp
- VB中的SQL语言——增、删、改、查
- 将任意浮点型转换成整形
- makefile的语法及写法
- 如何通过自学成为一名安卓软件开发工程师?