洛谷P1008三连击 题解

时间:2023-03-09 08:26:00
洛谷P1008三连击 题解

题目传送门

使用dfs搜索,搜索9个数字,注意回溯。。。最后判断是否符合条件,输出。

#include<bits/stdc++.h>
using namespace std;
int t[],a[];
void print()
{
int b=a[]*+a[]*+a[],c=a[]*+a[]*+a[],d=a[]*+a[]*+a[];
if(b*==c&&b*==d)
printf("%d %d %d\n",b,c,d);
return;
}
void dfs(int k)
{
if(k==){print();return;}
for(int i=;i<=;i++) //深搜1~9数字
if(t[i]==)
{
a[k]=i;
t[i]=;
dfs(k+);
t[i]=;
}
}
int main(){
dfs();
return ;
}