zoukankan      html  css  js  c++  java
  • acm 1171母函数

    #include"iostream"
    using namespace std;
    int c1[250010],c2[250010];
    int value[55];
    int amount[55];
    int main()
    {
        int nNum;
        while(scanf("%d",&nNum)&&nNum>0)
        {
            memset(value,0,sizeof(value));
            memset(amount,0,sizeof(amount));
            int sum=0;
            for(int i=1;i<=nNum;++i)
            {
               scanf("%d %d",&value[i],&amount[i]);
               sum+=value[i]*amount[i];       
            }                            
            memset(c1,0,sum*sizeof(c1[0]));
            memset(c2,0,sum*sizeof(c2[0]));
            for(int i=0;i<=value[1]*amount[1];i+=value[1])
               c1[i]=1;
            int len=value[1]*amount[1];
            for(int i=2;i<=nNum;++i)
            {
               for(int j=0;j<=len;++j)
                  for(int k=0;k<=value[i]*amount[i];k+=value[i])
                  {
                     c2[k+j]+=c1[j];       
                  }       
                  len+=value[i]*amount[i];
                  for(int j=0;j<=len;++j)
                  {
                     c1[j]=c2[j];
                     c2[j]=0;       
                  }
            }
            for(int i=sum/2;i>=0;--i)
               if(c1[i]!=0)
               {
                  printf("%d %d\n",sum-i,i);
                  break;
               }         
        }
         return 0;   
    }

  • 相关阅读:
    iOS中循环引用的解除
    Block的循环引用详解
    Mac OS X下面 Node.js环境的搭建
    swift中闭包和OC的block的对比
    STL priority_queue
    优先使用map(或者unordered_map)的find函数而非algorithm里的find函数
    Insert Interval
    Integer Break
    Unique Binary Search Trees
    腾讯2016实习生笔试
  • 原文地址:https://www.cnblogs.com/QQbai/p/2128485.html
Copyright © 2011-2022 走看看