果然理解算法最好的方法就是自己写一遍。
这次弄懂了使用回溯法解决连续邮资问题怎么保持这个范围连续
还有中间的流程
#include"stdio.h"
#define N 1024
#define INF 65535
int n=0,m=0,r=0; //n种类,m张数,r总的金额
int values[N]; //保存面值
int stamps[N];//用来存放面值最终结果
int leastStamps[N];//用的最少张数
int maxpostage; //最大邮资
int range;//连续区间
main()
{
scanf("%d %d",&n,&m);
values[0]=1;
range=m;
int i=0;
for(i=0;i
=n) //当确认的邮票大于所需邮票
{
if(range>maxpostage)
{
maxpostage=range;
for(temp=0;temp
=m) continue;
for(num=1;num<=m-leastStamps[postage];num++) //所剩张数
{
if(leastStamps[postage]+num
< code>