求助
查看原帖
求助
522427
cabbagewt楼主2022/7/13 09:27
#include<bits/stdc++.h>
using namespace std;
bool check()
{
	int num;
	num=sscanf(s+1,"%d%c%d%c%d%c%d%c%d%c%d%c%d%c%d%c%d",&b[1],&t[1],&b[2],&t[2],&b[3],&t[3],&b[4],&t[4],&b[5],&t[5],&b[6],&t[6],&b[7],&t[7],&b[8],&t[8],&b[8],&t[9]);
	num=(num-1)/2;
	int ans=b[1];
	for(int i=1;i<=num;i++)
		if(t[i]=='+')	ans+=b[i+1];
		else ans-=b[i+1];
	if(ans==0)	return 1;
	else return 0;
}
void dfs(int u)
{
	if(u>=n)	
	{
		ls=0,lss=0;
		for(int i=1;i<=n;i++)
		{
			s[++ls]=a[i]+'0';	
			ss[++lss]=a[i]+'0';
			if(c[i]!=' '&&i!=n)	s[++ls]=c[i];
			if(i!=n)	ss[++lss]=c[i];
		}
		s[ls+1]=0;
		ss[lss+1]=0;
		if(check())
			printf("%s\n",ss+1);
		return ;
	}
	for(int i=1;i<=3;i++)
	{
		c[u]=tmp[i];
		dfs(u+1);
	}
}
int main()
{
	cin>>n;
	dfs(1);
	return 0;
}

求助

2022/7/13 09:27
加载中...