HDU1518 Square(DFS)
Square
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 11151 Accepted Submission(s): 3588
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int a[], n, ans;
bool vis[]; int dfs(int cur, int len, int pos)//cur表示用过的个数, len表示长度, pos表示位置
{
if(cur==n)
return ;
for(int i=pos; i<n; i++)
{
if(vis[i]) continue;
if(len+a[i]<ans)
{
vis[i] = ;
if(dfs(cur+, len+a[i], i+)) return ;
vis[i] = ;
if(len==) return ;
while(a[i]==a[i+]&&i+<n) ++i;//剪枝
}
else if(len+a[i]==ans)
{
vis[i] = ;
if(dfs(cur+, , )) return ;
vis[i] = ;
return ;
}
}
return ;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int Sum = ;
scanf("%d", &n);
for(int i=; i<n; i++)
{
scanf("%d", &a[i]);
Sum+=a[i];
}
if(Sum%)
{
printf("no\n");
continue;
}
ans = Sum/;
memset(vis, , sizeof(vis));
int temp = dfs(, , );
printf("%s\n", temp?"yes":"no");
}
return ;
}
HDU1518 Square(DFS)的更多相关文章
- HDU1518 Square(DFS) 2016-07-24 15:08 49人阅读 评论(0) 收藏
Square Problem Description Given a set of sticks of various lengths, is it possible to join them end ...
- HDU 1518 Square(DFS)
Problem Description Given a set of sticks of various lengths, is it possible to join them end-to-end ...
- poj2362 Square(DFS)
题目链接 http://poj.org/problem?id=2362 题意 输入n根棍子的长度,求这n根棍子是否能组成一个正方形. 思路 假设能组成正方形,则正方形的周长为sum,sum/4为正方形 ...
- Leetcode之深度优先搜索(DFS)专题-473. 火柴拼正方形(Matchsticks to Square)
Leetcode之深度优先搜索(DFS)专题-473. 火柴拼正方形(Matchsticks to Square) 深度优先搜索的解题详细介绍,点击 还记得童话<卖火柴的小女孩>吗?现在, ...
- LeetCode Subsets II (DFS)
题意: 给一个集合,有n个可能相同的元素,求出所有的子集(包括空集,但是不能重复). 思路: 看这个就差不多了.LEETCODE SUBSETS (DFS) class Solution { publ ...
- LeetCode Subsets (DFS)
题意: 给一个集合,有n个互不相同的元素,求出所有的子集(包括空集,但是不能重复). 思路: DFS方法:由于集合中的元素是不可能出现相同的,所以不用解决相同的元素而导致重复统计. class Sol ...
- HDU 2553 N皇后问题(dfs)
N皇后问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 在 ...
- 深搜(DFS)广搜(BFS)详解
图的深搜与广搜 一.介绍: p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orp ...
- 【算法导论】图的深度优先搜索遍历(DFS)
关于图的存储在上一篇文章中已经讲述,在这里不在赘述.下面我们介绍图的深度优先搜索遍历(DFS). 深度优先搜索遍历实在访问了顶点vi后,访问vi的一个邻接点vj:访问vj之后,又访问vj的一个邻接点, ...
随机推荐
- 【python cookbook】【字符串与文本】6.以不区分大小写的方式对文本做查找和替换
问题:以不区分大小写的方式对文本做查找和替换 解决方法:使用re模块,并对各种操作都添加上re.IGNORECASE标记 text='UPPER PYTHON,lower python,Mixed P ...
- 为该目录以及子目录添加index.html
add index.html to a directory recursively using Perl5 使用的目录,是从Perl下载的perl5.18.2的文档 Look Here #!/usr/ ...
- HDU 1520:Anniversary party(树形DP)
http://acm.split.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Problem Description There i ...
- awk 手册--【转载】
1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l awk 适于解决哪些问题 ? l awk 常见的解题模式为何 ? 为使读者快速掌握awk解 ...
- recyclview多条目布局
多条目基础 http://blog.csdn.net/fangchao3652/article/details/43148871 添加底部加载更多 http://blog.csdn.net/fangc ...
- xheditor上传图片配置
二. 源码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Xeditor.a ...
- hihoCoder 数论五·欧拉函数
题目1 : 数论五·欧拉函数 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho有时候会用密码写信来互相联系,他们用了一个很大的数当做密钥.小Hi和小Ho约定 ...
- 将html table中的数据封装成json格式数据
var tab=document.getElementById("table1"); var rows=tab.rows; //alert(rows.length) ...
- PreparedStatement接口及其方法的使用
PreparedStatement接口是Statement接口的子接口,使用它的好处有三个 一:简化代码,便于sql语句的书写 二:有效的禁止sql语句的注入,例如:用户名和密码,使用Prepared ...
- tinyhttpd服务器源码学习
下载地址:http://sourceforge.net/projects/tinyhttpd/ /* J. David's webserver */ /* This is a simple webse ...