标签:++ stream 控制 col set algo include none cstring
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> using namespace std; int a[100],n,m,b[100],flag; void printf(int k) { for(int i=0;i<k;i++) { printf("%d",b[i]); if(i!=k-1) printf("+"); } printf("\n"); } void dfs(int k,int sum,int t) { if(sum>n||k>m) return; if(sum==n) { printf(t); flag=1; return; } b[t]=a[k]; dfs(k+1,sum+a[k],t+1); while(k+1<m&&a[k+1]==a[k])//去重,可以控制重复数字的个数。 { k++; } dfs(k+1,sum,t); } int main(int argc, char *argv[]) { while(cin>>n>>m) { if(n==0&&m==0) break; for(int i=0;i<m;i++) { cin>>a[i]; } memset(b,0,sizeof(b)); flag=0; printf("Sums of %d:\n",n); dfs(0,0,0); if(!flag) printf("NONE\n"); } return 0; }
标签:++ stream 控制 col set algo include none cstring
原文地址:https://www.cnblogs.com/huluxin/p/9284108.html