HDU-1518 Square(DFS)
Square
Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 20 Accepted Submission(s) : 12
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Input
Output
Sample Input
3
4 1 1 1 1
5 10 20 30 40 50
8 1 7 2 6 4 4 3 5
Sample Output
yes
no
yes
Source
此题需要优化时间,避免超时。。优化时间技巧可以学习。。。。。。。。。
#include <stdio.h>
#include<string.h>
int a[];
int vist[];
int sum;
int l;
int n;
int flag;
void Dfs(int t, int len, int index)
{ if (t == )
{
flag = ;
return ;
} if (len == l)
{
Dfs(t + , , );
if (flag)//优化时间
{
return ;
}
} for (int i = index; i < n; i++)//从index开始优化时间
{
if (vist[i]== && a[i] + len <= l)
{
vist[i] = ;
Dfs(t, a[i] + len, i + );
if (flag)//优化时间
{
return;
}
vist[i] = ;
}
}
} int main()
{
int i,t;
scanf("%d", &t);
while (t--)
{ sum = ;
scanf("%d", &n);
for (int i = ; i < n; i++)
{
scanf("%d", &a[i]);
sum += a[i];
} if (sum % != )//简答的优化
{
puts("no");
continue;
} l = sum / ; for (i = ; i < n; i++)//有比边长大的边就不行
{
if (a[i] > l)
{
break;
}
}
if (i != n)
{
puts("no");
continue;
}
memset(vist, , sizeof(vist));
flag = ;
Dfs(, , );
if (flag)
{
puts("yes");
}
else
{
puts("no");
}
}
return ;
}
HDU-1518 Square(DFS)的更多相关文章
- HDU 1518 Square(DFS)
		
Problem Description Given a set of sticks of various lengths, is it possible to join them end-to-end ...
 - hdu 1518 Square 木棍建正方形【DFS】
		
题目链接 题目大意: 题意就是输入棍子的数量和每根棍子的长度,看能不能拼成正方形. #include <bits/stdc++.h> using namespace std; int n, ...
 - hdu 1518 Square(深搜+剪枝)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1518 题目大意:根据题目所给的几条边,来判断是否能构成正方形,一个很好的深搜应用,注意剪枝,以防超时! ...
 - HDU 1518 Square  搜索
		
Problem Description Given a set of sticks of various lengths, is it possible to join them end-to-end ...
 - hdu 1518   Square   深搜,,,,花样剪枝啊!!!
		
Square Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
 - HDU 1518 Square
		
解题思路:sum%4!=0 , max<sum/4 #include<iostream>#include<cstdio>#include<cstring> ...
 - Square HDU 1518 搜索
		
Square HDU 1518 搜索 题意 原题链接 给你一定若干个木棒,让你使用它们组成一个四边形,要求这些木棒必须全部使用. 解题思路 木棒有多种组合方式,使用搜索来进行寻找,这里需要进行优化,不 ...
 - HDU.5692 Snacks ( DFS序 线段树维护最大值 )
		
HDU.5692 Snacks ( DFS序 线段树维护最大值 ) 题意分析 给出一颗树,节点标号为0-n,每个节点有一定权值,并且规定0号为根节点.有两种操作:操作一为询问,给出一个节点x,求从0号 ...
 - hdu  Square  DFS
		
Square Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
 - hdoj 1518 Square 【dfs】
		
题意:给出n个(不同长度的)棍子,问能不能将他们构成一个正方形. 策略:深搜. hdoj 1455的简化版 代码: #include <stdio.h> #include <stri ...
 
随机推荐
- stm32中.bss和.data段是在哪里初始化的
			
https://segmentfault.com/q/1010000004829859/a-1020000004850311 Q: STM32的启动文件startup_stm32f10x_hd.s中的 ...
 - 使用localstorage及js模版引擎 开发 m站设想
			
目前 m站开发的方式,依然请求完整的html,这样造成的问题就是每次请求的数据量过大过多,在没有wifi的情况下,导致页面打开的速度很慢,耗费的流量也较多:访问m站的多是移动端设备,其浏览器的版本都较 ...
 - javascript 节点的增,删,改,查
			
1.创建节点 A.创建元素节点 document.createElement("元素标签名"); B.创建属性节点 document.createAttribut ...
 - android之调用webservice 实现图片上传
			
转:http://www.cnblogs.com/top5/archive/2012/02/16/2354517.html public void testUpload(){ try{ String ...
 - mui H5  js动态添加不同类型的数据
			
html页面需要添加的页面的数据格式 <ul class="mui-table-view" id="OA_task_1"> <li class ...
 - svn-代码回滚
			
第一种:# svn revert [-R] something 第二种: 1. svn update,svn log,找到最新版本(latest revision) 2. 找到自己想要回滚的版本 ...
 - Python Tips and Traps(一)
			
1.如果想得到一个列表的index和内容,可以通过enumerate快速实现 drinks = ['coffee','tea', 'milk', 'water'] for index, drink i ...
 - SQL Express几个版本的区别
			
对于这三个文件:SQLEXPR32_x86_CHS.exe.SQLEXPR_x86_CHS.exe. SQLEXPR_x64_CHS.exe,大家一看就知道是sqlserver的express版本,但 ...
 - 解决在HTTPS页面里嵌套HTTP页面浏览器block的问题
			
问题描述: 浏览器默认是不允许在HTTPS里面引用HTTP页面的,ie下面会弹出提示框提示是否显示不安全的内容,一般都会弹出提示框,用户确认后才会继续加载,但是chrome下面直接被block掉,只在 ...
 - leetcode第四题:Median of Two Sorted Arrays   (java)
			
Median of Two Sorted Arrays There are two sorted arrays A and B of size m and n respectively. Find t ...