poj 3181 Dollar Dayz 高精度+完全背包

来源:互联网 发布:软件著作权 看见加急 编辑:程序博客网 时间:2024/04/28 19:08
//poj 3181//sep9#include <iostream>using namespace std;struct H  {      int a[10],len;       void clear(){          memset(a,0,sizeof(a));len=1;      }      void print(){          printf("%d",a[len]);          for(int i=len-1;i>=1;--i)              printf("%04d",a[i]);                       }         };  int n,k;H dp[1024];void add(int x,int y)  {      int i,r=0;     dp[x].len=max(dp[x].len,dp[y].len);     for(i=1;i<=dp[x].len;++i)        {          int sum=dp[x].a[i]+dp[y].a[i]+r;dp[x].a[i]=sum%10000;r=sum/10000;    }      if(r!=0)          dp[x].a[++dp[x].len]=r;  } int main(){scanf("%d%d",&n,&k);for(int i=0;i<=n;++i)dp[i].clear();dp[0].a[1]=1;for(int i=1;i<=k;++i)for(int j=i;j<=n;++j)add(j,j-i);dp[n].print();return 0;} 

0 0
原创粉丝点击