想用dfs,大佬帮我!!!
查看原帖
想用dfs,大佬帮我!!!
897873
lwthree楼主2023/9/22 19:47
#include <bits/stdc++.h>
using namespace std;

int nums[10];
void output()
{
    for (int i=0;i<3;i++)
    {
        for (int j=0;j<3;j++)
        {
            printf("%d",nums[i*3+j]);
        }
        printf(" ");
    }
}

void dfs(int n)
{
    for (int i=1;i<=9;i++)
    {
        if (nums[n]==0)
        {
            nums[n]=i;
            if (n==9)
            {
                if ((nums[1]*100+nums[2]*10+nums[3])*2==(nums[4]*100+nums[5]*10+nums[6])&&(nums[1]*100+nums[2]*10+nums[3])*3==(nums[7]*100+nums[8]*10+nums[9]))
                {
                    output();
                    return;                    
                }
            }
            dfs(n+1);
            nums[n]=0;
        }
    }
}

int main()
{
    memset(nums,0,sizeof(nums));
    dfs(1);
    return 0;
}

啥也不输出 为啥子 求大佬指点!!!

2023/9/22 19:47
加载中...