尝试写了一个dfs,求各位大佬看看为啥60分
查看原帖
尝试写了一个dfs,求各位大佬看看为啥60分
1282382
ZJdog楼主2024/4/1 19:43
#include<bits/stdc++.h>
using namespace std;
const int N=362885;

int a,b,c;
bool st[N];
int d[N];

void dfs(int x){
    if(x>9){
        if((d[1]*100+d[2]*10+d[3])*b/a==d[4]*100+d[5]*10+d[6]&&(d[1]*100+d[2]*10+d[3])*c/a==d[7]*100+d[8]*10+d[9]){
            for(int j=1;j<=9;j++){
                printf("%d",d[j]);
                if(j==3||j==6){
                    printf(" ");
                }
            }
            printf("\n");
        }
        return;
    }
    for(int i=1;i<=9;i++){
        if(st[i]==false){
            d[x]=i;
            st[i]= true;
            dfs(x+1);
            d[x]=0;
            st[i]=false;
        }
    }
}

int main(){
    scanf("%d %d %d",&a,&b,&c);
    dfs(1);
    return 0;
}
2024/4/1 19:43
加载中...