0
点赞
收藏
分享

微信扫一扫

基础回溯DFS 越学越倒退了??????暑假也不能掉链子 sdffsfdsfsdf

静鸡鸡的JC 2022-06-29 阅读 76

ABC+DEF=GHI
找出排列的方式有多少个。

#include<iostream>
using namespace std;
int a[10],cnt=0;
int vis[100];
void dfs(int step){
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])
cnt++;
return ;
}
for(int i=1;i<=9;i++)
{
if(!vis[i])
{
a[step]=i;//这里要注意,不撞南墙不回头,用步数代替层数。
vis[i]=1;
dfs(step+1);
vis[i]=0;
}
}

}
int main(){
dfs(1);
cout<<cnt/2<<endl;
return 0;
}


举报
0 条评论