zoukankan      html  css  js  c++  java
  • HDU 1518 Square

    解题思路: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;}
  • 相关阅读:
    链接被点击时不出现虚线框的方法
    label 和 legend标签的用法
    了解常见的浏览器内核 Trident,Geckos,Presto,Webkit
    DOCTYPE声明的几种类型
    Angularjs基础教程
    理解angular中的module和injector,即依赖注入
    es5 api
    css3_note
    canvas 基础知识
    uglifyjs note
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3478919.html
Copyright © 2011-2022 走看看