欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

搜寻:zoj 2734 exchange cards(dfs)

更新时间: 2014-01-05 03:03:29 责任编辑: Author_N1

 

搜索:zoj 2734 Exchange Cards(DFS)

【转】http://blog.csdn.net/zxy_snow/article/details/6005768

 

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
int sum,ways;
int num[1010];
int value,n;
void DFS(int x)
{
	if( sum == value )
	{
		ways++;
		return ;
	}
	for(int i=x; i<=value; i++)
	{
		if( num[i] && sum + i <= value )
		{
			num[i]--;
			sum += i;
			DFS(i);
			num[i]++;
			sum -= i;
		}
	}
}
int main(void)
{
	int x,y;
	int pe = 0;
	while( cin >> value >> n )
	{
		if( pe )
			cout << endl;
		pe = 1;
		memset(num,0,sizeof(num));
		sum = ways = 0;
		for(int i=0; i<n; i++)
		{
			cin >> x >> y;
			num[x] = y;
		}
		DFS(1);
		cout << ways << endl;
	}
return 0;
}

 

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:03:29
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/17807/
本文WWW.DOC100.NET DOC100.NET版权所有。