标题:八皇后代码求大神注释一下。。八百里加急。。。
只看楼主
jujj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-17
结帖率:0
已结贴  问题点数:20 回复次数:3 
八皇后代码求大神注释一下。。八百里加急。。。
八皇后问题
【问题描述】:设计一个求解八皇后问题的演示程序。八皇后问题如下:在8*8
的国际象棋棋盘上放置了八个皇后,要求没有一个皇后能吃掉另一个皇后,即任
意两个皇后都不处于棋盘的同一行、同一列或同一对角线上。八皇后问题布局图
之一如下图所示:
 
【基本要求】:编写实现八皇后问题的递归解法或非递归解法,对于任意给定的一个初始位
置,输出八皇后问题的一个布局。
#include<iostream>
using namespace std;
int line[8];
int temp[92][8];
static count=0;

//------------------------------------
void show()
{
 int i,j;
 for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
  {
   if(line[i]==j)

   temp[count][i]=j;//用于存储各个完整的图
  }

 }
count++;
}

//-----------------------------
//判断摆放的位置是否正确,不正确返回1,正确返回0.
int Judge(int t)
{
 int i,n=0;
 for(i=0;i<t;i++)
 {
  if(line[i]==line[t])
  {n=1;break;}
  if(line[i]+i==line[t]+t)
  {n=1;break;}
  if(line[i]-i==line[t]-t)
  {n=1;break;}
 }
 return n;
}


//-------------------------------------
//主要控制函数.
void control(int n)
{
 int t=8;
 for(line[n]=0;line[n]<t;line[n]++)
 {
  if(Judge(n))
   continue;
  else
   if(n!=7)
    control(n+1);
  
 else
    show();
}
}
//-------------------------------------
void main()//主函数.
{
    int x,y;
    control(0);
    cout<<"输入起始行:";
    cin>>x;
    cout<<"输入起始列:";
    cin>>y;

    for(int i=0;i<92;i++)
    {
        if(temp[i][x-1]==y-1)
        {
            for(int m=0;m<8;m++)
            {
                for(int n=0;n<8;n++)
                {
                    if(n==temp[i][m])
                        cout<<"Q ";
                    else
                        cout<<"* ";
                }
                cout<<endl;
            }

            cout<<endl;
        }
                    
    }
}

搜索更多相关主题的帖子: 国际象棋 include 对角线 count 
2013-06-17 10:03
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:10 
标记...!  

仰望星空...........不忘初心!
2013-06-17 10:10
justlxy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:158
注 册:2013-5-14
得分:10 
标记什么?
2013-06-17 13:48
jujj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-17
得分:0 
回复 2楼 Susake
什么标记
2013-06-19 09:27



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




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

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