题解(dfs法)
2024-10-07 23:56:24
发布于:四川
2阅读
0回复
0点赞
第一次发题解有点激动!!!
虽然好像有点杀鸡用宰牛刀,但是我看着没有人发过,就搞一个
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
bool book[10];
vector<int> sum1(10,0);//用数字就行,这里发癫了
int h;
void dfs(int n){
if(n==10) {
int a=sum1[1]*100+sum1[2]*10+sum1[3];
int b=sum1[4]*100+sum1[5]*10+sum1[6];
int c=sum1[7]*100+sum1[8]*10+sum1[9];
if(b==a*2&&c==a*3){
cout<<a<<' '<<b<<' '<<c<<'\n';
}
return;
}
for(int i=1;i<=9;i++){
if(book[i]==0){
sum1[n]=i,book[i]=1;
dfs(n+1);
book[i]=0;
}
}
return;
}
int main()
{
dfs(1);
return 0;
}
欢迎各位大佬指错,优化
这里空空如也
有帮助,赞一个