C程序“五皇后”问题,请编程高手帮忙!

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:42:48
题目:在8*8的国际棋盘中,共有64个格子,最多将五个皇后放入棋盘中,就可以控制住整个棋盘,不论对方的棋子放在哪个格子中,都会被吃掉,编一个C程序,求出这样的五个“皇后”所有可能的布局。

#include<iostream.h>
#include<malloc.h>
#include<process.h>
#include<math.h>
#define OVERFLOW -2

typedef struct chess
{
int x;
int y;
}chess;
typedef struct sqstack
{
chess *top;
chess *base;
int stacksize;
}sqstcak;

int n;
long int k=0;

int InitStack(sqstack &s)
{
s.base=(chess*)malloc(n*sizeof(chess));
if(!s.base)exit(OVERFLOW);
s.top=s.base;
s.stacksize=n;
return 1;
}
int Push(sqstack &s,chess e)
{
*s.top++=e;
return 1;
}
int Pop(sqstack &s,chess &e)
{
if(s.top==s.base)return 0;
e=*--s.top;
return 1;
}
void Clearstack(sqstack &s)
{
s.top=s.base;
}

void Output(sqstack s)
{
cout<<"the "<<n<<" quen's arrange methend is:"<<endl;
while(s.t