HDUOJ 1518 Square(深搜)
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(深搜)相关推荐
- hdu 1312深搜入门题
2019独角兽企业重金招聘Python工程师标准>>> Red and Black Problem Description There is a rectangular room, ...
- 有趣的题目:简单深搜之数独与靶型数独--二进制状压加速与dfs数独剪枝
Sudoku Time Limit: 2000MS Memory Limit: 65536K 题目链接http://poj.org/problem?id=2676 Description Sudo ...
- 深搜广搜专题【DFS】【BFS】
深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...
- 深搜和广搜(初学者)
搜索入门 最近对搜索有了一点浅显的了解,想跟大家分享分享. 说起来我也是初学者,恰巧有些自己的理解,想起来自己开始学习搜索的情况,真是一把鼻子一把泪啊.所以想把我领悟的过程,看到的一些基础的我觉得好的 ...
- LeetCode 1240. 铺瓷砖(深搜剪枝)
1240. 铺瓷砖 你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修. 房子的客厅大小为 n x m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面. 假设 ...
- Go 分布式学习利器(15) -- Go 实现 深搜和广搜
强化语法,回顾算法. 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系). 涉及到的Go语 ...
- 水管工游戏 (深搜)
水管工游戏 本题依然是采用搜索,深搜,广搜都可以,本代码采用深搜,此题在搜索时需要增加一些判断条件以及下一步要搜索的位置即可. 代码如下: #include<stdio.h> int a[ ...
- Poj(2488),按照字典序深搜
题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字 ...
- [数据结构] 迷宫问题(栈和队列,深搜和广搜)
代码: #include <iostream> #include <string.h> #include <stack> #include <queue> ...
最新文章
- acm数论之欧几里得gcd
- docker--在centos镜像安装mysql
- 调用oracle常用方法,区分Oracle和SQL Server常用函数调用方法
- 手动解除浏览器跨域限制
- JSP丶新闻发布会系统
- linux如何正确关机,重启
- delphi2010安装
- 易软门诊管理软件php,易软门诊管理系统最新下载
- Procdump+Mimikatz获取Windows明文密码
- 帝国cms html广告,帝国cms加入JS广告代码不显示的解决办法
- 这段时间做的简单dp题目(部分)
- 五子棋-完美解决闪屏问题版-新增悔棋功能(C++实现)
- 运算符重载例子分数加减乘除,赋值,输入输出比较大小
- spring boot集成Elasticsearch客户端
- 手机也能当门卡?!--NFC技术应用
- 如何设置数据库最大连接数
- C#为窗体控件设置透明色问题
- 2021春哈工大计算机系统大作业
- 深入分析 Java Web 中的中文编码问题
- thickBox参数详解
热门文章
- HEX转换为GRB 工具
- c#-asp net -C语言在线考试系统-考生端
- 全力保障春运 西南最大“动车医院”启用动车“智能医生”
- signature=37277ff69e2b5b13311018e3985a7a8b,Signature-aided tracking using HRR profiles
- 志宇-Spring源码分析
- Android框架的记录
- Unity:导入3D画图制作的模型
- 计算机基础面试(持续更新中)
- 【推荐系统】使用神经网络嵌入构建推荐系统
- 微信轻量级小说小程序系统源码+UI挺好看