bjfuoj的测试数据最水,用很简单的方法一下就过了,又调了好长时间,才过掉其它OJ上的这道题目~

/* * hdu1518/win.cpp * Created on: 2011-11-8 * Author    : ben*/#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map>#include <stack>#include <string>#include <vector>#include <deque>#include <list>#include <functional>#include <numeric>#include <cctype>using namespace std;const int MAXN = 25;int lens[MAXN];bool visited[MAXN];int N, ave, cur_tol_len, totallen;

inline bool cmp(const int &a, const int &b) {return a > b;}

bool myfind(int step, int num) {if (num > 3) {return true;    }if (step >= N) {return false;    }if (!visited[step] && (lens[step] + cur_tol_len) <= ave * num) {        visited[step] = true;        cur_tol_len += lens[step];if(cur_tol_len == ave * num) {if(myfind(0, num + 1)) {return true;            }        }else if (myfind(step + 1, num)) {return true;        }        visited[step] = false;        cur_tol_len -= lens[step];    }return myfind(step + 1, num);}

bool judge() {if (N < 4 || totallen % 4 != 0) {return false;    }    ave = totallen / 4;for (int i = 0; i < N; i++) {if (lens[i] > ave) {return false;        }    }    sort(lens, lens + N, cmp);    memset(visited, false, sizeof(visited));    cur_tol_len = 0;return myfind(0, 1);}

int main() {#ifndef ONLINE_JUDGE    freopen("data.in", "r", stdin);#endifint T;    scanf("%d", &T);while (T--) {        scanf("%d", &N);        totallen = 0;for (int i = 0; i < N; i++) {            scanf("%d", &lens[i]);            totallen += lens[i];        }if (judge()) {            puts("yes");        } else {            puts("no");        }    }return 0;}

转载于:https://www.cnblogs.com/moonbay/archive/2011/11/08/2241638.html

hdu1518 bjfuoj1042 zoj1909 poj2362 经典的搜索加剪枝相关推荐

  1. 基于Android官方AsyncListUtil优化经典ListView分页加载机制(二)

    基于Android官方AsyncListUtil优化经典ListView分页加载机制(二) 我写的附录文章1,介绍了如何使用Android官方的分页加载框架AsyncListUtil优化改进常见的Re ...

  2. chosen.jquery.js 、chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值 ,chosen 实现远程搜索加载下拉选项

    chosen.jquery.js .chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值,chosen 实现远程搜索加载下拉选项 chosen. ...

  3. ThinkPad X1c【第一次当拆客】示范如何给经典本R400加内存

    自从去年买了R400以来,还没尝试过自己打开过内部, 终于快要换本了,所以今天特意胆粗粗尝试一下给R400加内存(内存本来买机的时候就让JS帮忙加上去的). 1.根据别人的经验,第一步当然是先把电源. ...

  4. 知识点-极大极小搜索+alpha_beta剪枝

    知识点-极大极小搜索+alpha_beta剪枝 解决问题 ​ 博弈类游戏 概要 ​ 其实就是用深度搜索搜索博弈的策略,博弈中两个人轮流进行游戏,在算法里转化为在搜索的不同深度下选取不同的搜索策略,一般 ...

  5. 五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计

    源代码 GitHub上:Github livingsu/Gobang-ai:极大极小搜索和α-β剪枝 引言 alphaGo击败围棋冠军李世石的新闻让我对棋类博弈产生了浓厚的兴趣,无奈本人不会围棋,但算 ...

  6. DFS 如何避免重复母题 Leetcode 077组合(人为规定选取顺序:本题为只能从前往后选,好马不吃回头草)(类似题:Leetcode047全排列(可能含重复元素)-回溯法加剪枝)

    类似题 Leetcode047全排列(可能含重复元素)-----------回溯法加剪枝 https://blog.csdn.net/qq_52934831/article/details/11957 ...

  7. (只此一篇便绝b能懂的)五子棋AI算法原理,博弈树、极大极小搜索、αβ剪枝

    我在最近撰写五子棋AI程序设计报告时,翻阅了很多的资料博客,但却发现大佬们的博客,没有一篇是能让我只看它就能理解全部的AI算法.在看了众多博客后,我终于对博弈树.极大极小搜索.αβ剪枝恍然大悟,其实这 ...

  8. 刷相关搜索软件_【亚马逊排名算法】搜索加购为什么能提升关键词排名?

    有搜索框的地方就有排名,有排名就要研究其排名机制.笼统的说,搜索的目的就是根据用户输入的关键词展现出符合用户需求的结果,也就是说优先展示与用户搜索词相关的产品或结果.这句话很重要,任何搜索都是这个原理 ...

  9. Windows 10搜索框一直搜索/加载的解决方法

    重装了win10系统后,发现搜索框输入完内容就一直在加载,什么东西也搜索不到. 神奇的是切换到Administrator账户使用起来就没有问题.于是把自己账户权限改到最高,但问题并没有解决. 百度给了 ...

最新文章

  1. Tensorflow object detection API 搭建物体识别模型
  2. 客制化NVRAM的以太网地址
  3. python 删除非空文件夹
  4. 数据结构中单链表的存储c语言,单链表一 - 数据结构与算法教程 - C语言网
  5. Shell编程入门(第二版)(下)
  6. [深度学习-优化]梯度消失与梯度爆炸的原因以及解决方案
  7. Community宣言
  8. 颠覆网站 C/S 模式,没有服务器的网站会怎样?
  9. JAVA使用URLEncoder、URLDecoder编码解码
  10. 计算机课程设计Servlet网上订餐系统【jsp+servlet+mysql】代码讲解安装调试
  11. Android权限管理原理
  12. 最全勒索病毒解密工具
  13. ANSYS apdl命令流笔记15-------模态分析
  14. 【无标题】单分子纳米孔测序技术及其应用研究进展
  15. nanopore测序技术专题(四):纳米孔测序原理
  16. 表格控件SpreadJS助力上市企业明源云,打造更智慧的地产生态链
  17. 如何调节B站倍速播放
  18. 绝技不是一天练成 新手入库停车技巧图解
  19. 参加AKM DSP芯片代理培训
  20. python装饰器原理wraps(method)(self)_理解Python中装饰器最佳方法~

热门文章

  1. 适合初学者的数据结构_数据结构101:数组-初学者的直观介绍
  2. pwa js_如何在互联网信息亭中实现PWA和Barba.js
  3. jsp实现日历(二)
  4. 浙江大学软件学院2020年保研上机模拟练习 7-2 Distance of Triples
  5. Oracle中的iot_type,oracle IOT表学习
  6. nginx系列:nginx反向缓存代理详解
  7. 手动创建Spring项目 Spring framework
  8. Ring Tone Manager on Windows Mobile
  9. 如何制作一个类似Tiny Wings的游戏 Cocos2d-x 2.1.4
  10. Oracle 11g Release 1 (11.1) PL/SQL_多维 Collection 类型和其异常