m0_64414562 2024-03-19 19:44 采纳率: 0%
浏览 3

2n八皇后问题超时问题


include<iostream>
#include<algorithm>
#define N 100
using namespace std;
int n;
int ans=0;
int col[3][N];
int row[3][N];
int w[N],b[N];
int a[N][N];
void dfs1(int);
void dfs2(int);
void dfs1(int r)
{
    if(r==n)
    {
        ans++;
        return;
    }
    else
        for(int i=0; i<n; i++)
        {

            if(!col[0][i]&&!col[1][i+r]&&!col[2][i-r+n]&&a[r][i])
            {
                w[r]=i;
                col[0][i]=col[1][i+r]=col[2][i-r+n]=1;
                dfs1(r+1);
               col[0][i]=col[1][i+r]=col[2][i-r+n]=0;
            }

        }
}
void dfs2(int r)
{
    if(r==n)
    {
       dfs1(0);
        return;
    }
    else
        for(int i=0; i<n; i++)
        {

            if(!row[0][i]&&!row[1][i+r]&&!row[2][i-r+n]&&a[r][i]&&i!=w[r])
            {
                b[r]=i;
                row[0][i]=row[1][i+r]=row[2][i-r+n]=true;
                dfs2(r+1);
                row[0][i]=row[1][i+r]=row[2][i-r+n]=false;
            }

        }
}
int main()
{
    cin>>n;
    for(int i=0; i<n; i++)
        for(int j=0; i<n; j++)
            cin>>a[i][j];


    dfs1(0);
    cout<<ans<<endl;
    return 0;
}

为什么这个2n皇后问题结果运行不出来?

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-19 19:44
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个2n皇后问题存在代码错误,导致不能正确运行。具体来说,代码中第25行应为“for(int j=0; j #include #define N 100 using namespace std; int n; int ans=0; int col[3][N]; int row[3][N]; int w[N],b[N]; int a[N][N]; void dfs1(int); void dfs2(int); void dfs1(int r){ if(r==n) { ans++; return; } else for(int i=0; i>n; for(int i=0; i>a[i][j]; dfs2(0); cout<
    评论

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题