小A点菜(dfs)

来源:互联网 发布:用java写小游戏 编辑:程序博客网 时间:2024/05/29 16:38
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;const int maxn=110;int a[maxn],s,n,m,p[maxn],ans;void dfs(int x,int y){//printf("%d\n",y);if(y<0)return;if(y==0){ans++;return;}for(int i=x;i<=n;i++){ if(!p[i]){ p[i]=1; dfs(i,y-a[i]); p[i]=0;} }                                                             }int main(){int i,j,k;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){scanf("%d",&a[i]);}dfs(1,m);printf("%d",ans); return 0;}

0 0
原创粉丝点击