马踏棋盘
答案:1 悬赏:40 手机版
解决时间 2021-03-28 14:49
- 提问者网友:星軌
- 2021-03-28 10:06
马踏棋盘
最佳答案
- 五星知识达人网友:思契十里
- 2021-03-28 11:33
以前做过
可以用来演示的程序
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 1
#define STACK_INIT_SIZE 10
#define STACKINCREMENT 2
#define N 8
typedef int Status;
typedef struct chess
{
int x;
int y;
}chess;
chess c[64];
int num=0;
typedef chess SElemType;
int map[N][N][8];
int weight[N][N];
int board[N][N];
static SElemType offset[8] =
{
{-2, 1},{ -1, 2},{ 1, 2},{ 2, 1},{ 2, -1}, {1, -2}, {-1, -2}, {-2, -1}
};
char ch;
void setweight();
void setmap();
void Result(int x, int y, chess bo[]);
typedef struct SqStack
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack *S)
{
(*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!(*S).base)
exit(OVERFLOW);
(*S).top=(*S).base;
(*S).stacksize=STACK_INIT_SIZE;
return OK;
}
Status StackEmpty(SqStack S)
{
if(S.top==S.base)
return TRUE;
else
return FALSE;
}
Status GetTop(SqStack S,SElemType *e)
{
if(S.top>S.base)
{
*e=*(S.top-1);
return OK;
}
else
return ERROR;
}
Status SetTop(SqStack S,SElemType *e)
{
if(S.top>S.base)
{
*(S.top-1)=*e;
return OK;
}
else
return ERROR;
}
Status Push(SqStack *S,SElemType e)
{
if((*S).top-(*S).base>=(*S).stacksize)
可以用来演示的程序
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 1
#define STACK_INIT_SIZE 10
#define STACKINCREMENT 2
#define N 8
typedef int Status;
typedef struct chess
{
int x;
int y;
}chess;
chess c[64];
int num=0;
typedef chess SElemType;
int map[N][N][8];
int weight[N][N];
int board[N][N];
static SElemType offset[8] =
{
{-2, 1},{ -1, 2},{ 1, 2},{ 2, 1},{ 2, -1}, {1, -2}, {-1, -2}, {-2, -1}
};
char ch;
void setweight();
void setmap();
void Result(int x, int y, chess bo[]);
typedef struct SqStack
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack *S)
{
(*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!(*S).base)
exit(OVERFLOW);
(*S).top=(*S).base;
(*S).stacksize=STACK_INIT_SIZE;
return OK;
}
Status StackEmpty(SqStack S)
{
if(S.top==S.base)
return TRUE;
else
return FALSE;
}
Status GetTop(SqStack S,SElemType *e)
{
if(S.top>S.base)
{
*e=*(S.top-1);
return OK;
}
else
return ERROR;
}
Status SetTop(SqStack S,SElemType *e)
{
if(S.top>S.base)
{
*(S.top-1)=*e;
return OK;
}
else
return ERROR;
}
Status Push(SqStack *S,SElemType e)
{
if((*S).top-(*S).base>=(*S).stacksize)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯