nyoj+搜索dfs+每次是对一个数加与不加进行递归
来源:互联网 发布:国外在淘宝买东西 编辑:程序博客网 时间:2024/06/05 03:23
点击打开链接
#include<iostream>#include<stdio.h>#include<cstdio>#include<math.h>#include<string>#include<cstring>#include<string.h>#include<algorithm>#include<vector>using namespace std;int SumAll=0,def=0x3f3f3f3f, N=0,Arr[25]={0};void dfs(int sum,int i){ if(i>=N) return; int temp=abs(SumAll-2*sum); if(def>temp) def=temp; //精髓就在于这里每次选择加或不加,构成二叉树搜索,进行所有情况搜索 dfs(sum+Arr[i],i+1); dfs(sum,i+1);}int main(){ while(cin>>N) { memset(Arr,0,sizeof(Arr)); SumAll=0; def=0x3f3f3f3f; for(int i=0;i<N;i++) { cin>>Arr[i]; SumAll+=Arr[i]; } dfs(0,0); cout<<def<<endl; } return 0;}
0 0
- nyoj+搜索dfs+每次是对一个数加与不加进行递归
- hdu2149 Public Sale-------巴什博奕 每次加一个数
- C++ new 一个对象是加括号与不加括号的区别
- poj 2676(dfs求解数独问题,对行列和格子分别加bool数组优化搜索)
- 深度优先搜索 和问题 简单函数递归 “加 还是不加”
- 递归打印一个数所有加和的方式
- 如何对一个表表进行新加字段
- 对一个正整数作如下操作:如果是偶数则除以2,如果是奇数则加1,如此进行直到1时操作停止,求经过9次操作变为1的数有多少个?
- 对一个正整数作如下操作:如果是偶数则除以2,如果是奇数则加1,如此进行直到1时操作停止,求经过9次操作变为1的数有多少个?
- 加event与不加event
- 一个简单的DFS(深度优先搜索)算法加剪枝技术的程序演示
- 对字符串进行加解密的常用方法-对初学者来说是个很好的入门
- js实现每次调用一个函数自动加1
- 加100是完全平方数
- Des 对文件进行加解密
- 用MD5对文件进行加解密
- 对长字符串进行省略加...
- java对字符串进行加星号处理
- js中函数声明和函数表达式的不同
- linux下进程间通信的几种主要方式简介
- 欢迎使用CSDN-markdown编辑器
- 数据仓库(DATA Warehouse)核心概念
- 如何跟程序员谈一场没有Bug的恋爱
- nyoj+搜索dfs+每次是对一个数加与不加进行递归
- About Face 3 读书笔记
- 网络编程知识
- 属性动画入门
- log4j 格式详解
- 10+年程序员总结的20+条经验教训
- Android开发Eclipse快捷键使用
- 牛腩新闻发布系统---外键约束下如何删除记录
- .net 缩略图代码