您的位置:首页 > 其它

usaco 2.3 money...自娱自乐版...

2012-11-13 17:05 211 查看
/*
ID:chenjiong
PROG:money
LANG:C++
*/

#include <stdio.h>
#include <string.h>

int V,N;
int m[30];
int sum;
long long cnt;

void dfs(int cur,int s)
{
if ( sum > N )
return;
if ( sum == N )
{
cnt++;
return;
}
int i;
for ( i = s; i < V; i++)
{
sum += m[i];
dfs(cur + 1,i);
sum -= m[i];
}
}

int main()
{
freopen("money.in","r",stdin);
freopen("money.out","w",stdout);

int i;
scanf("%d%d",&V,&N);
for ( i = 0; i < V; i++)
scanf("%d",&m[i]);

sum = 0;
dfs(0,0);

printf("%ld\n",cnt);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: