解题思路:sum%4!=0    , max<sum/4

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>usingnamespace std;int a[100];bool vis[100],flag;int m,ave;bool dfs(int ans,int sum,int cnt){
    if(sum==ave)returntrue;
    for(int i=cnt;i<m;i++){
      if(a[i]==a[i-1]&&!vis[i-1])continue;
      if(!vis[i]&&a[i]<=ans){//shit !!!  <  
        vis[i]=true;
        if(a[i]==ans){
          if(dfs(ave,sum-a[i],0))
          returntrue;
        }
        elseif(dfs(ans-a[i],sum-a[i],i))
          returntrue;
        vis[i]=false;
        if(ans==ave)returnfalse;
        }
      }
      returnfalse;}int main(){
    int n,sum;
    scanf("%d",&n);
    while(n--){
      scanf("%d",&m);
      sum=0;
      for(int i=0;i<m;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
      }
      sort(a,a+m);
      flag=false;
      ave=sum/4;
      if(a[m-1]>ave||sum%4!=0){
        cout<<"no"<<endl;
        continue;
      }
      else{
        memset(vis,false,sizeof(vis));
        if(dfs(ave,sum,0))
        flag=true;
      }
      if(flag) cout<<"yes"<<endl;
      else cout<<"no"<<endl;
    }
    return0;}

HDU 1518 Square的更多相关文章

  1. hdu 1518 Square(深搜+剪枝)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1518 题目大意:根据题目所给的几条边,来判断是否能构成正方形,一个很好的深搜应用,注意剪枝,以防超时! ...

  2. HDU 1518 Square 搜索

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

  3. HDU 1518 Square(DFS)

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

  4. hdu 1518 Square 深搜,,,,花样剪枝啊!!!

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. hdu 1518 Square 木棍建正方形【DFS】

    题目链接 题目大意: 题意就是输入棍子的数量和每根棍子的长度,看能不能拼成正方形. #include <bits/stdc++.h> using namespace std; int n, ...

  6. Square HDU 1518 搜索

    Square HDU 1518 搜索 题意 原题链接 给你一定若干个木棒,让你使用它们组成一个四边形,要求这些木棒必须全部使用. 解题思路 木棒有多种组合方式,使用搜索来进行寻找,这里需要进行优化,不 ...

  7. 杭电1518 Square(构成正方形) 搜索

    HDOJ1518 Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. hdu 1518 拼正方形

    本题来自:http://acm.hdu.edu.cn/showproblem.php?pid=1518 题意:输入几个长度,判断能否拼成正方形. 以下部分参考了网友代码,终于ac啦. #include ...

  9. hdu 5079 Square

    http://acm.hdu.edu.cn/showproblem.php?pid=5079 题意: n*n网格,每个格子可以涂黑色或白色,有的格子必须涂黑色 问最大白色正方形边长分别为0,1,2,… ...

随机推荐

  1. Linux系统架设支持自助开通Shado wsocks及VPN前端的教程

    程序实现:通过网页端注册,自助开通VPN帐号及Shadowsocks帐号.并可实现流量统计 系统要求 Debian 6 x64 纯净系统 by: Lop ①配置环境 apt-get updateapt ...

  2. SpringMVC可以配置多个拦截后缀*.html和.do等

    一个servlet可以配置多个servlet-mapping, 因此在xml文件中我们可以这样配置: <!-- springmvc配置 --> <servlet> <se ...

  3. 怎么修改tomcat默认访问首页

    一般情况下安装好tomcat之后我们的默认访问首页是index了,但我们如果要修改或增加一个默认首页,我们可参考下面办法来解决. 通过 ip:port 访问到的是 tomcat 的管理页面,其他常规部 ...

  4. UVALive - 5135 Mining Your Own Business

    刘汝佳白书上面的一道题目:题意是给定一个联通分量,求出割顶以及双连通分量的个数,并且要求出安放安全井的种类数,也就是每个双连通分量中结点数(除开 割顶)个数相乘,对于有2个及以上割顶的双连通分量可以不 ...

  5. 还是编码 汉字(GB2312和GBK)的ASCII码对照表

    GB2312和GBK每一个汉字由2个字节组成,这2个字节的ASCII码大小分别是:gb2312: high8 = 0xa1-->0xfe (161 - 254)low8 = 0xa1--> ...

  6. 打死也不换系统?笑谈过气的Windows XP

    http://tech.qq.com/a/20131012/007336.htm 按照IT领域的“安迪-比尔定律”:软件和游戏不断生成过户需求,硬件则通过技术创新来消化这些需求,这个过程会刺激用户在电 ...

  7. 【HDOJ】3652 B-number

    终于自己写出来一道数位DP啊.继续训练DP. /* 3652 */ #include <iostream> #include <sstream> #include <st ...

  8. Find the capitals

    Find the capitals Description: Instructions Write a function that takes a single string (word) as ar ...

  9. apache开源项目--kylin

    Kylin 是一个开源的分布式的 OLAP 分析引擎,来自 eBay 公司开发,基于 Hadoop 提供 SQL 接口和 OLAP 接口,支持 TB 到 PB 级别的数据量. Kylin 是: 超级快 ...

  10. jasperreports-5.6 + jaspersoftstudio-5.6 生成pdf 文件中文无法正常显示问题

    jrxml字段属性设置: <textElement> <font fontName="宋体" pdfFontName="STSong-Light&quo ...