标题:大佬协助蒟蒻找出错误吧
只看楼主
楚川杉
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2020-3-10
结帖率:66.67%
 问题点数:0 回复次数:0 
大佬协助蒟蒻找出错误吧


下面是我的代码,
输入6,的结果是


看了好久,依然没找出哪儿里错了。也许眼尖的你可以帮我找出错误。

程序代码:
#include<iostream>
#include<stdio.h>
using namespace std;
int n;
const int N=30;
int path[N];
bool col[N],dg[N],udg[N];
int sum;
void dfs(int u){
    if(u>n){
        sum++;
        if(sum>3)return;
        else{
        for(int i=1;i<=n;i++)printf("%d ",path[i]);
        printf("\n");
        return;
        }
        
        }
    for(int i=1;i<=n;i++){
        if((!col[i])&&(!dg[n+u-i])&&(!udg[i+u])){
            path[u]=i;
            col[i]=true,dg[n+i-u]=true,udg[i+u]=true;
            dfs(u+1);
            col[i]=false,dg[n+i-u]=false,udg[i+u]=false;
        
        }
    }
    
}
int main(){
    cin>>n;
    dfs(1);
    cout<<sum;
    return 0;
    
} 
搜索更多相关主题的帖子: sum false path int 出错 
2020-03-18 01:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500398-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.129519 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved