NYOJ--325--深度优先搜索--zb的生日

来源:互联网 发布:centos 7 mysql 编辑:程序博客网 时间:2024/06/16 00:25
/*Name: NYOJ--325--zb的生日Author: shen_渊 Date: 15/04/17 08:18Description: 输入时计算总质量,DFS搜索和总质量差值一般最接近的质量和,当val已经大于总质量一般时剪枝 清空数组DFS:选与不选 */#include<iostream> #include<cstring>#include<algorithm>using namespace std;void dfs(int,int);int n,watermelon[23];int cut,min_val,v2;int main(){//freopen("in.txt","r",stdin);while(cin>>n){cut = 0;min_val = 0xfffffff;memset(watermelon,0,sizeof(watermelon));int i;for(i=0; i<n; ++i){cin>>watermelon[i];cut += watermelon[i];}if(n==1){min_val = watermelon[0];}else{v2 = cut / 2;dfs(1,watermelon[0]);}cout<<min_val<<endl;} return 0;}void dfs(int ct,int val){if(ct > n)return ;int t = abs(cut - 2*val);if(t<min_val)min_val = t;if(val > v2)return ;//继续增大val没什么用dfs(ct+1,val+watermelon[ct]) ;dfs(ct+1,val);}

0 0
原创粉丝点击