数据结构与算法课程设计 最少硬币问题
发布网友
发布时间:2022-04-22 13:38
我来回答
共2个回答
热心网友
时间:2023-11-06 22:10
Source
//code c++ 调试环境 vc++ 6.0
//代码实现:
#include <stdio.h>
#include <algorithm>
using namespace std ;
struct Coin
{
int value ;
int num ;
}T[11] ;
int comp(Coin a ,Coin b )
{
return a.value <= b.value ;
}
int main()
{
int i ;
int n ;
int m ,sum ;
while(scanf("%d",&n ) != EOF)
{
for( i = 0 ; i < n ; i ++ )
{
scanf("%d %d",&T[i].value , &T[i].num );
}
scanf("%d",&m ) ;
sort(T,T+n ,comp );
sum = 0 ;
int k = -1 ;
for( i = n-1 ; i >=0 ; i-- )
{
if( T[i].value <= m )
{
k = i ;
break;
}
}
for( i = k ; i >= 0 ; i -- )
{
while( T[i].num > 0 && m >= T[i].value )
{
sum ++ ;
m -= T[i].value ;
}
if( m <= 0 )
break ;
}
printf("%d\n",sum ) ;
}
return 0 ;
}
参考资料:http://blog.sina.com.cn/s/blog_5cd377280100ay9g.html
热心网友
时间:2023-11-06 22:10
现在懒得动脑子。