#include<bits/stdc++.h>
using namespace std;
long long coin[]= {10000,5000,2000,1000,500,200,100,50,20,10,5};
long long dp[12][30005];
long long c;
long long func(long long i,long long w)
{
if(i>=11)
{
if(w==0)
return 1;
else
return 0;
}
if(dp[i][w]!=-1)
return dp[i][w];
long long p1=0,p2=0;
if(w-coin[i]>=0)
p1=func(i,w-coin[i]);
p2=func(i+1,w);
return dp[i][w]=p1+p2;
}
int main()
{
long long x,y;
char ch;
memset(dp,-1,sizeof(dp));
while(cin>>x>>ch>>y)
{
long long n,n1;
if(x==0&&y==0)
break;
else
{
n=x*100+y;
{
n1=func(0,n);
printf("%3lld.%.2lld%17lld\n",x,y,n1);
}
}
}
return 0;
}
using namespace std;
long long coin[]= {10000,5000,2000,1000,500,200,100,50,20,10,5};
long long dp[12][30005];
long long c;
long long func(long long i,long long w)
{
if(i>=11)
{
if(w==0)
return 1;
else
return 0;
}
if(dp[i][w]!=-1)
return dp[i][w];
long long p1=0,p2=0;
if(w-coin[i]>=0)
p1=func(i,w-coin[i]);
p2=func(i+1,w);
return dp[i][w]=p1+p2;
}
int main()
{
long long x,y;
char ch;
memset(dp,-1,sizeof(dp));
while(cin>>x>>ch>>y)
{
long long n,n1;
if(x==0&&y==0)
break;
else
{
n=x*100+y;
{
n1=func(0,n);
printf("%3lld.%.2lld%17lld\n",x,y,n1);
}
}
}
return 0;
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন