标签:
/* ID: modengd1 PROG: zerosum LANG: C++ */ #include <iostream> #include <stdio.h> #include <memory.h> using namespace std; int op[10]; void output(int limit) { cout<<1; for(int i=0;i<limit-1;i++) { if(op[i]==0) cout<<‘+‘; else if(op[i]==1) cout<<‘-‘; else cout<<‘ ‘; cout<<i+2; } cout<<endl; } void slove(int limit,int deep) { if(limit-1==deep) { int ans=0; int temp=1; int po=1; for(int i=0;i<limit-1;i++) { if(op[i]==0||op[i]==1) { ans+=po*temp; temp=i+1+1; if(op[i]==0) po=1; else po=-1; } else { temp=temp*10+i+1+1; } } ans+=po*temp; if(ans==0) output(limit); return ; } op[deep]=2; slove(limit,deep+1); op[deep]=0; slove(limit,deep+1); op[deep]=1; slove(limit,deep+1); } int main() { freopen("zerosum.in","r",stdin); freopen("zerosum.out","w",stdout); int N; scanf("%d",&N); slove(N,0); return 0; }
标签:
原文地址:http://www.cnblogs.com/modengdubai/p/4782171.html