麻烦大佬看看这题哪错了?

#include<bits/stdc++.h>
using namespace std;
int a[5][5];
bool vis[10];
void dfs(int depi,int depj)
{
    if(depj==4)dfs(depi+1,1);
    if(depi==4)
    {
        int sum=0,check=0;
        for(int j=1;j<=3;j++)
            sum+=a[1][j];
        for(int i=2;i<=3;i++)
        {
            check=0;
            for(int j=1;j<=3;j++)
                check+=a[i][j];
            if(check!=sum)return;
        }
        for(int i=1;i<=3;i++)
        {
            check=0;
            for(int j=1;j<=3;j++)
                check+=a[j][i];
            if(check!=sum)return;
        }
        check=0;
        for(int i=1;i<=3;i++)
            check+=a[i][i];
        if(check!=sum)return;
        check=0;
        for(int i=1,j=3;i<=3&&j>=1;i++,j--)
            check+=a[i][j];
        if(check!=sum)return;
        for(int i=1;i<=3;i++)
        {
            for(int j=1;j<=3;j++)
                cout<<a[i][j]<<' ';
            cout<<endl<<endl;
        }
        return;
    }
    for(int k=1;k<=9;k++)
        if(!vis[k])
        {
            a[depi][depj]=k;
            vis[k]=1;
            dfs(depi,depj+1);
            vis[k]=0;
        }
}
signed main()
{
    ios::sync_with_stdio(false);
    dfs(1,1);
    return 0;
}

0 条评论

目前还没有评论...

信息

ID
2028
难度
9
分类
(无)
标签
递交数
6
已通过
3
通过率
50%
被复制
3
上传者