购物券消费方案

公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。

程序输入:
第一行是一个整数m,代表可购买的商品的种类数。
接下来是m个整数,每个1行,分别代表这m种商品的单价(0 程序输出:
 第一行是一个整数,表示共有多少种方案
 第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。
例如:

输入:
2
200
300
则应输出:
2
2  2
5  0

输入:
2
500
800
则应输出:
1
2  0

输入:
1
999
则应输出:
0

多个方案间的顺序不重要。

#include
using namespace std;
const int total = 1000;  //商品的总价值为1000元
int result[100][10];  //amount[i][j]存放第i个方法第j个商品的数量
int num = 0;  //方法的个数
int price[10];  //每种商品的价格
int amount[10];  //商品数量
int m;  //共有m种商品

//运行程序
void run(int n)
{
	if(n>=m)
	{
		int sum = 0;  //目前背包里的物品总价值
		for(int i=0;i>m;
	for(int i=0;i>price[i];
	run(0);
	cout<


你可能感兴趣的:(算法设计与分析,C/C++,C++,算法设计与分析,背包问题)