阅读背景:

[dfs基础]XXX+XXX=XXX

来源:互联网 
#include<cstdio>
using namespace std;
int a[10],book[10],sum=0;
void dfs(int step){
	int i;
	if(step==10){
		if(a[1]*100+a[2]*10+a[3]+a[4]*100+a[5]*10+a[6]==a[7]*100+a[8]*10+a[9]){
			sum++;
			printf("%d%d%d+%d%d%d=%d%d%d\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
		}
		return;
	}
	for(i=1;i<=9;i++){
		if(book[i]==0){
			a[step]=i;
			book[i]=1;
			dfs(step+1);
			book[i]=0;
		}
	}
	return;
}
int main(){
	dfs(1);
	printf("The sum of all way is %d",sum/2);
	return 0;
}#include<cstdio>
using namespace std;
int a[10]



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: