uva 674 Coin Change

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=615

#include <iostream>
#include <cstdio>

using namespace std;
const int N=8000;

long long num[N];
int coin[6]={0,1,5,10,25,50};

int main()
{
	int n;
	for(int i=1;i<=7500;i++)
		num[i]=0;
	num[0]=1;
	
	for(int t=1;t<=5;t++)
			for(int i=1;i<=7500;i++)
			{
			if(i>=coin[t]) num[i]+=num[i-coin[t]];//  状态转移方程
			}
	while(cin>>n)
	{
		cout<<num[n]<<endl;
	}
	return 0;
}

  

posted @ 2012-03-19 13:50  wuzhibin  阅读(313)  评论(1)    收藏  举报