60分求助,RE+WA
查看原帖
60分求助,RE+WA
775551
caojiaming楼主2022/9/22 20:41
#include<bits/stdc++.h>
using namespace std;
int n=9;
int a[15],b[15];
bool st[15];
int make_num(int a,int b,int c){
    return a*100+b*10+c;
}
void dfs(int x,int b1,int b2,int b3){
    if(x==n+1){
        for(int i=1;i<=n;i+=3)
            b[i/3+1]=make_num(a[i],a[i+1],a[i+2]);
        if(b[1]*b3/b1==b[3]&&b[1]*b2/b1==b[2]){
            printf("%d %d %d\n",b[1],b[2],b[3]);
        }
    }
    for(int i=1;i<=9;i++){
        if(!st[i]){
            a[x]=i;
            st[i]=true;
            dfs(x+1,b1,b2,b3);
            st[i]=false;
        }
    }
}
int main()
{
	int b1,b2,b3;
	cin>>b1>>b2>>b3;
    dfs(1,b1,b2,b3);
    return 0;
}
2022/9/22 20:41
加载中...