zoukankan      html  css  js  c++  java
  • HDU1709

    /*
     * 好奇怪的母函数
     */
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    #define max 100*100+10
    int c1[max],c2[max],a[max];

    int main(){
        int n;
        while(~scanf("%d",&n)){
            int sum=0;
            for(int i=0;i<n;i++){
                scanf("%d",&a[i]);
                sum+=a[i];
            }
            sort(a,a+n);
            for(int i=0;i<=sum;i++){
                c1[i]=c2[i]=0;
            }
            for(int i=0;i<=a[0];i+=a[0]){
                c1[i]=1;
            }
            for(int i=1;i<n;i++){
                for(int j=0;j<=sum;j++){
                    for(int k=0;k+j<=sum&&k<=a[i];k+=a[i]){
                        c2[k+j]+=c1[j];
                        c2[abs(k-j)]+=c1[j];//每个砝码都可以放在两边
                    }
                }
                for(int j=0;j<=sum;j++){
                    c1[j]=c2[j];
                    c2[j]=0;
                }
            }
            int cnt=0;
            for(int i=1;i<=sum;i++){
                if(!c1[i]){
                    cnt++;
                }
            }
            printf("%d ",cnt);
            if(cnt){
                int f=0;
                for(int i=1;i<=sum;i++){
                    if(!c1[i]){
                        if(f){
                            printf(" ");
                        }
                        printf("%d",i);
                        f=1;
                    }
                }
                puts("");
            }
        }
    }

  • 相关阅读:
    express基础介绍
    gruntjs
    小写转换大写(人民币)
    Elasticsearch学习系列之多文档操作mget
    java.util.Date和java.sql.Date的使用方法,转载
    spring学习IOC
    oracle10g手动创建scott(tiger)的方法(转)
    观察者模式
    简单工厂,工厂模式,抽象工厂
    win7主机+winxp虚拟机,虚拟机使用主机的无线网卡(转)
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703235.html
Copyright © 2011-2022 走看看