搜索
查看: 549|回复: 2
打印 上一主题 下一主题

N皇后 无法输出 求助

[复制链接]
跳转到指定楼层
楼主
发表于 2016-2-28 19:33:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
哪里错了  无法输出

#include<iostream>
#include<cstdio>
#include<string.h>
using namespace std;
int a[15],b[100],c[100],d[100],s=0,k=0,n;
void ppp()
{
        int i;
        for(i=1;i<=n;i++)
        {
                cout<<a<<" ";
        }
        cout<<endl;
}
void ss(int i)
{
        int j;
        for(j=1;j<=n;j++)
        {

                if((b[j]==0)&&(c[i+j]==0)&&(d[i-j+n-1]==0))
                {
                        a=j;
                    b[j]=1;
                    c[i+j]=1;
                    d[i-j+n-1]=1;
                    if(i==n)
                    {
                                s++;
                                if(k<=3)
                                ppp;
                                k++;
                        }
                    else ss(i++);
                    b[j]=0;
                    c[i+j]=0;
                    d[i-j+7]=0;
                }
        }
}

int main()
{
        cin>>n;
        memset(a,0,sizeof(a));
                memset(b,0,sizeof(b));
                        memset(c,0,sizeof(c));
                                memset(d,0,sizeof(d));
        ss(1);
        cout<<s;
        return 0;
}
n皇后
输入一个数字N  (6  < =  N  < =  13)  表示棋盘是N  x  N大小的。
输出
前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。
样例输入6样例输出2 4 6 1 3 53 6 2 5 1 44 1 5 2 6 34

沙发
发表于 2016-2-28 20:13:50 | 只看该作者
请你用代码框括起来 否则将会被论坛代码解释器解释为斜体
[mw_shl_code=cpp,true ]
你的代码
[/mw_shl_code]

或者

[code ]
你的代码
[/code]

板凳
发表于 2016-2-28 20:15:14 | 只看该作者
忽然发现你的头像就是趣味的吃的 头像。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表