蒟蒻求助,样例没过,错得很离谱
查看原帖
蒟蒻求助,样例没过,错得很离谱
464732
luqyou楼主2022/7/31 10:27
#include<bits/stdc++.h>
using namespace std;
int n;
char fuhao[11];
void dfs(int now,int x,int nowsum){
	if(now==x+1){
		if(nowsum==0){
			for(int i=1;i<n;i++){
				printf("%d%c",i,fuhao[i]);
			}
			printf("%d\n",n);
		}
		return ;
	}
	if(fuhao[now-1]!=' '){
		fuhao[now]=' ';
		dfs(now+1,x,nowsum);	
	}
	fuhao[now]='+';
	if(fuhao[now-1]==' ') dfs(now+1,x,nowsum+now+(now-1)*10);
	else dfs(now+1,x,nowsum+now);
	fuhao[now]='-';
	if(fuhao[now-1]==' ') dfs(now+1,x,nowsum-now+(now-1)*10);
	else dfs(now+1,x,nowsum-now);
}
int main(){
	scanf("%d",&n);
	dfs(1,n,0);
	return 0;
}

2022/7/31 10:27
加载中...