资源简介
在n x n棋盘(有n x n个格点的棋盘)的某个格点上有一个中国象棋马,马走日字。求一条周游棋盘的路径,使得马能够从起始位置起沿着该路径每个格点恰好走一次最后回到出发位置。
用回溯法解决该问题。输入一个正整数n,输出一个解,解的输出形式尽可能直观。
代码片段和文件信息
#include “stdio.h“
int mn;
char **chess;
int ** trip;
bool check(int iint j)
{
if(i<0 || i>=m || j<0 || j>=n) return false;
if(chess[i][j]==‘w‘) return false;
if(chess[i][j]==‘1‘) return false;
return true;
}
void output(int count )
{
printf(“%d\n“count);
for(int i=0;i {
for(int j=0;j printf(“%4d“trip[i][j]);
printf(“\n“);
}
}
void Walk(int iint jint count)
{
//出口:i==m-1 && j==n-1
if(i==0 && j==0 && count==m*n)
{
chess[i][j]=‘w‘;
trip[i][j]=++count;
output(count);
chess[i][j]=‘0‘;
trip[i][j]=0;
return;
}
//合法性判断(出界,是否走过,是否故障)
if (!check(ij)) return;
else
{
//记录当前位置走过,步数
count++;
chess[i][j]=‘w‘;
trip[i][j]=
- 上一篇:C++api大全
- 下一篇:VC++网络考试系统,服务器+用户端+数据库+源代码.
相关资源
- 隐含马尔科夫链的C语言实现
- 黑马程序员 C语言提高课程配套课件
- 黑马C++第五期完整视频教程—百度
- C基础讲义 - 黑马程序员
- 黑马程序员 C基础讲义
- VC6 斑马打印机Demo
- 一个C++木马程序源代码利用Hook技术用
- C++ 回溯法求解罗密欧与朱丽叶的迷宫
- 跑马灯实验(STM32F4开发板)
- c++求解矩阵中的马鞍点
- 回溯法解决0-1背包问题
- 回溯法解决四色问题
- 八皇后 回溯算法 (C语言与c#源码)
- 基于x86 + linux 的堆栈回溯实验(xos_
- C++实战源码-图片马赛克效果
- STM32单片机跑马灯
- 01背包问题回溯法
- 反弹端口型木马实验
- C++| 匠心之作 从0到1入门学编程文档资
- c++深度剖析木马程序
- C++回溯算法实验报告
- MFC 随机生成迷宫 动态实现有回溯地走
- C++马踏棋盘 课程设计(报告书+源程序
- 实用51单片机控制直流马达程序含电风
- 马踏棋盘问题C语言——基于贪心算法
- 0-1背包问题 回溯算法代码
- C语言 马踏棋盘
- 数据结构课程设计c语言版马踏棋盘,
- 国际象棋跳马程序C语言
- c++ 冰河木马
评论
共有 条评论