hdu1059 Dividing 搜索
来源:互联网 发布:自己拍婚纱照 知乎 编辑:程序博客网 时间:2024/06/04 19:47
题目分析:一直没想的好的好的状态设置....这个真的不会写,还是有空多看看深搜吧............
//*****#include<iostream>#include<cstdio>using namespace std;int halfvalue;int a[7],sum,SUM,flag;void dfs(int v,int pre)//用当前的所组成的价值当做一个状态量{ //参考了别人的代码....这个pre状态设置的太巧了if(flag==1) //值得好好学习!!!return; if(v==halfvalue){flag=1;return;}for(int i=pre;i>=1;i--){ if(a[i]!=0) { if(v+i<=halfvalue) { a[i]--;//为啥这样??? dfs(v+i,i); if(flag==1) break; } }}return;}int main(){int c=1;while(1){sum=0,SUM=0;for(int i=1;i<=6;i++){scanf("%d",&a[i]);sum+=a[i];SUM+=i*a[i];}if(sum==0)break; if(SUM%2==1){ printf("Collection #%d:\nCan't be divided.\n\n",c++);continue;}flag=0; halfvalue=SUM/2;dfs(0,6);if(flag==1)printf("Collection #%d:\nCan be divided.\n\n",c++);elseprintf("Collection #%d:\nCan't be divided.\n\n",c++);} system("pause");return 0;}
- hdu1059 Dividing 搜索
- hdu1059 Dividing
- hdu1059---Dividing
- hdu1059 Dividing
- hdu1059 Dividing
- poj1014 hdu1059 Dividing
- POJ1014 & HDU1059 Dividing
- hdu1059 Dividing 多重背包
- Hdu1059 - Dividing - 动态规划
- [hdu1059]Dividing 多重背包
- hdu1059 Dividing (多重背包)
- hdu1059 Dividing(完全背包)
- HDU1059&&POJ1014-Dividing
- hdu1059 Dividing 【多重背包】
- HDU1059 && POJ1014 :Dividing(多重背包)
- hdu1059 &poj1014 Dividing (多重背包)
- HDU1059 Dividing 多重背包 ACM
- poj1014 hdu1059 Dividing 多重背包
- 如何完全退出单例模式下的android应用程序,非常好用
- DIECTOR中如何调用控制面板中的各种设置窗口及系统控制
- 回溯法计算总费用最小费用
- 一个通用的Trie树,标准C++实现
- MFC部分默认资源详解笔记
- hdu1059 Dividing 搜索
- 自己经常忘记的代码
- qt隐藏鼠标方法汇总
- 设计模式总结
- 由自定义的拦截器窥探struts2 Interceptor拦截器拦截机制
- 怎么解决svn error "svn: Aborting commit: xxx remains in conflict"?
- 备份恢复3——用户管理的备份与恢复*
- 小心编程中整数溢出的问题
- 安装mysql打开两个端口及库目录