ans

x-wangziji 2022-05-04 11:38:06 27 返回题目

#include <bits/stdc++.h>
using namespace std;
char ans[20];
int n;

void dfs(int p,int s,int num) {
    if(p>n-1){
    	if(s+num==0) cout<<ans<<endl;
    	return;
	}
	ans[p*2-1]=' ';
	if(num>0) dfs(p+1,s,num*10+p+1);
	else dfs(p+1,s,num*10-p-1);
	ans[p*2-1]='+';
	dfs(p+1,s+num,p+1);
	ans[p*2-1]='-';
	dfs(p+1,s+num,-p-1);
}

int main() {
    cin >> n;
    for(int i=0;i<n;i++)ans[i*2]=i+'1';
    dfs(1,0,1);
    return 0;
}
{{ vote && vote.total.up }}