为什么少一个结果???
查看原帖
为什么少一个结果???
1050501
ATION001楼主2024/4/1 14:38
#include<bits/stdc++.h>
using namespace std;
int n;
char o[20];
void dfs(int s,int k){
	if(s==n+1){
		if(k==0){
			cout<<1;
			for(int i=2;i<=n;i++){
				cout<<o[i]<<i; 
			}
			cout<<'\n';
		} 
		return;
	}
	o[s]=' ';
	dfs(s+1,k*10+s);
	o[s]='+';
	dfs(s+1,k+s);
	o[s]='-';
	dfs(s+1,k-s);
}
int main(){
	cin>>n;
	dfs(2,1);
}/*
输出:
1+2-3 4-5-6+7
1+2-3+4-5-6+7
1+2-3-4+5+6-7
1-2+3+4-5+6-7
1-2-3-4-5+6+7
*/
2024/4/1 14:38
加载中...