您的位置:首页 > 其它

zzulioj 1782: 和尚特烦恼8——找零钱 (完全背包)

2015-11-22 17:10 465 查看

1782: 和尚特烦恼8——找零钱

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 184  Solved: 104

SubmitStatusWeb
Board

Description

和尚在山上又耐不住寂寞了,嘴馋的要命,于是就拿了100块钱偷偷的下山买肉吃。和尚最爱吃红烧肘子了,但是和尚不会算数,请你帮和尚算算老板应该找他多少钱。并且和尚很懒,非得要求老板找他钱的张数是最少的。
假设老板那边有面值 50, 10,5,2,1无数张,请你帮和尚算算老板应该找他多少钱,钱张数最少是多少张。

Input

输入一个整数t,表示和尚花了t块钱。

Output

输出2个整数m和n,用空格隔开。表示老板找和尚m 块钱,最少的张数是n。

Sample Input

16

Sample Output

84 6
#include<stdio.h>
#include<string.h>
int min(int a,int b)
{
return a>b?b:a;
}
int dp[110];
int main()
{
int n,m,k,i,j;
int a[6]={1,2,5,10,50};
while(scanf("%d",&n)!=EOF)
{
m=100-n;
memset(dp,0x3f3f3f,sizeof(dp));
dp[0]=0;
for(i=0;i<5;i++)
{
for(j=a[i];j<=m;j++)
{
dp[j]=min(dp[j],dp[j-a[i]]+1);
}
}
printf("%d %d\n",m,dp[m]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: