zoukankan      html  css  js  c++  java
  • HDU1518 Square

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    int L,n;
    int l[21];
    bool vis[21];
    int dfs(int nused,int left,int pos){
        if(nused==0&&left==0) return 1;
        if(left==0)left=L;
        for(int i=pos;i<n;i++){
            if(!vis[i]&&left>=l[i]){
                if(i>0&&!vis[i-1]&&l[i]==l[i-1]) continue;
                vis[i]=1;
                if(left==l[i]){
                    if(dfs(nused-1,left-l[i],0)) return 1;
                    else{
                        vis[i]=0;
                        return 0;
                    }
                }
                else{
                    if(dfs(nused-1,left-l[i],i+1)) return 1;
                    else vis[i]=0;
                }
            }
        }
        return 0;
    }
    int main()
    {
        int i,N,sum;
        scanf("%d",&N);
        while(N--){
            memset(vis,0,sizeof(vis));
            scanf("%d",&n);
            for(sum=i=0;i<n;i++){
                scanf("%d",&l[i]);
                sum+=l[i];
            }
            if(sum%4!=0){
                printf("no\n");
                continue;
            }
            L=sum/4;
            sort(l,l+n,greater<int >());
            if(l[0]>L){
                printf("no\n");
                continue;
            }
            if(dfs(n,L,0)) printf("yes\n");
            else printf("no\n");
        }
        return 0;
    }
     
  • 相关阅读:
    R语言学习——数据框
    R语言学习——数组
    R语言学习——矩阵
    R语言学习——向量
    SSM的项目结构
    simple-spring-memcached简介
    Arrays
    AbstractCollection 类
    Collections 类
    Map接口
  • 原文地址:https://www.cnblogs.com/shihuajie/p/3059704.html
Copyright © 2011-2022 走看看