solution:经典的深搜思路;
先判断行不通的情况:
1、棍子总长不是4的倍数必然不能组成正方形
2、最长棍的长度的四倍大于棍子总长必然不能组成正方形
再一条边一条边地进行搜索

#include <bits/stdc++.h>
using namespace std;int n, sum;
int a[22];
bool flag, vis[22];void dfs(int i, int l, int k)
{if (k == 3){//已有三条边齐了,已经满足条件flag = true;return;}if (!vis[i]){vis[i] = true;if (l + a[i] < sum / 4){if (i > 0)dfs(i - 1, l + a[i], k);if (flag)return;}if (l + a[i] == sum / 4){dfs(n - 1, 0, k + 1);if (flag)return;}vis[i] = false;}if (i > 0)dfs(i - 1, l, k);
}int main()
{int t;cin >> t;while (t--){cin >> n;sum = 0;for (int i = 0; i < n; ++i){cin >> a[i];sum += a[i];}sort(a, a + n);fill(vis, vis + n, false);if(sum % 4 || a[n - 1] * 4 > sum){cout << "no" << endl;continue;}flag = false;dfs(n - 1, 0, 0);if (flag)cout << "yes" << endl;else cout << "no" << endl;}return 0;
}

HDUOJ 1518 Square(深搜)相关推荐

  1. hdu 1312深搜入门题

    2019独角兽企业重金招聘Python工程师标准>>> Red and Black Problem Description There is a rectangular room, ...

  2. 有趣的题目:简单深搜之数独与靶型数独--二进制状压加速与dfs数独剪枝

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K 题目链接http://poj.org/problem?id=2676 Description Sudo ...

  3. 深搜广搜专题【DFS】【BFS】

    深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...

  4. 深搜和广搜(初学者)

    搜索入门 最近对搜索有了一点浅显的了解,想跟大家分享分享. 说起来我也是初学者,恰巧有些自己的理解,想起来自己开始学习搜索的情况,真是一把鼻子一把泪啊.所以想把我领悟的过程,看到的一些基础的我觉得好的 ...

  5. LeetCode 1240. 铺瓷砖(深搜剪枝)

    1240. 铺瓷砖 你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修. 房子的客厅大小为 n x m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面. 假设 ...

  6. Go 分布式学习利器(15) -- Go 实现 深搜和广搜

    强化语法,回顾算法. 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系). 涉及到的Go语 ...

  7. 水管工游戏 (深搜)

    水管工游戏 本题依然是采用搜索,深搜,广搜都可以,本代码采用深搜,此题在搜索时需要增加一些判断条件以及下一步要搜索的位置即可. 代码如下: #include<stdio.h> int a[ ...

  8. Poj(2488),按照字典序深搜

    题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字 ...

  9. [数据结构] 迷宫问题(栈和队列,深搜和广搜)

    代码: #include <iostream> #include <string.h> #include <stack> #include <queue> ...

最新文章

  1. acm数论之欧几里得gcd
  2. docker--在centos镜像安装mysql
  3. 调用oracle常用方法,区分Oracle和SQL Server常用函数调用方法
  4. 手动解除浏览器跨域限制
  5. JSP丶新闻发布会系统
  6. linux如何正确关机,重启
  7. delphi2010安装
  8. 易软门诊管理软件php,易软门诊管理系统最新下载
  9. Procdump+Mimikatz获取Windows明文密码
  10. 帝国cms html广告,帝国cms加入JS广告代码不显示的解决办法
  11. 这段时间做的简单dp题目(部分)
  12. 五子棋-完美解决闪屏问题版-新增悔棋功能(C++实现)
  13. 运算符重载例子分数加减乘除,赋值,输入输出比较大小
  14. spring boot集成Elasticsearch客户端
  15. 手机也能当门卡?!--NFC技术应用
  16. 如何设置数据库最大连接数
  17. C#为窗体控件设置透明色问题
  18. 2021春哈工大计算机系统大作业
  19. 深入分析 Java Web 中的中文编码问题
  20. thickBox参数详解

热门文章

  1. HEX转换为GRB 工具
  2. c#-asp net -C语言在线考试系统-考生端
  3. 全力保障春运 西南最大“动车医院”启用动车“智能医生”
  4. signature=37277ff69e2b5b13311018e3985a7a8b,Signature-aided tracking using HRR profiles
  5. 志宇-Spring源码分析
  6. Android框架的记录
  7. Unity:导入3D画图制作的模型
  8. 计算机基础面试(持续更新中)
  9. 【推荐系统】使用神经网络嵌入构建推荐系统
  10. 微信轻量级小说小程序系统源码+UI挺好看