首页 > 学院 > 开发设计 > 正文

2015上机二 国际象棋跳马5*5

2019-11-06 08:01:43
字体:
来源:转载
供稿:网友

// 马踏棋盘1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;int a[5][5];int cnt = 0;void PRint() {	for (int i = 0;i < 5;i++) {		for (int j = 0;j < 5;j++)			printf("%3d", a[i][j]);		cout << endl;	}	cout << endl;}int isPass(int i,int j) {	return ((i >= 0 && i < 5)&& (j >= 0 && j < 5)&& !a[i][j]);}void Path(int i, int j, int r) {	if (isPass(i, j)) {		if (r == 25) {			a[i][j] = r;			cnt++;			printf("第%d种解:/n",cnt);			print();			a[i][j] = 0;			return;		}		a[i][j] = r;		Path(i - 1, j + 2, r + 1);		Path(i - 1, j - 2, r + 1);		Path(i + 1, j + 2, r + 1);		Path(i + 1, j - 2, r + 1);		Path(i - 2, j + 1, r + 1);		Path(i - 2, j - 1, r + 1);		Path(i + 2, j + 1, r + 1);		Path(i + 2, j - 1, r + 1);		a[i][j] = 0;	}}int main(){	for (int i = 0;i < 5;i++)		for (int j = 0;j < 5;j++)			a[i][j]=0;	Path(0, 0, 1);	cout << "共有"<<cnt <<"种解"<< endl;    return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表