骑士巡游问题
来源:互联网 发布:linux分别压缩文件 编辑:程序博客网 时间:2024/04/27 21:45
/* ============================================================================ Name : Exercise.c Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : Knight Parade in C, Ansi-style,Compile by Code:Block ============================================================================ */#include <stdio.h>#define Order (5)int Matrix[Order][Order];int a[8]= {2,1,-1,-2,-2,-1,1,2}; /*(a[],b[])组对,控制方向*/int b[8]= {1,2,2,1,-1,-2,-2,-1};/***************************************************************************** Function : Print* Description : Print result* Input : void* Return : void*****************************************************************************/void Print(){ int i,j; for(i=0; i<Order; i++) { for(j=0; j<Order; j++) { printf("%4d",Matrix[i][j]); } printf("\n"); } printf("\n");}/***************************************************************************** Function : Try* Description : Recursive lookup the correct position* Input : times of recursive,position of x,position of y* Return : void*****************************************************************************/void Try(int times,int PosOfx,int PosOfy){ int NextPosOfx,NextPosOfy,i; for(i=0; i<8; i++) { NextPosOfx=PosOfx+a[i]; NextPosOfy=PosOfy+b[i]; if(NextPosOfx>=0 && NextPosOfx<Order && NextPosOfy>=0 && NextPosOfy<Order) { if(Matrix[NextPosOfx][NextPosOfy]==0) { Matrix[NextPosOfx][NextPosOfy]=times; if(times<Order*Order) { Try(times+1,NextPosOfx,NextPosOfy); } else { Print(); } Matrix[NextPosOfx][NextPosOfy]=0; } } }}int main(){ int x,y; printf("Please input the position of knight: "); scanf("%d,%d",&x,&y; Matrix[x][y]=1; Try(2,x,y);}
0 0
- 骑士巡游问题算法
- 骑士巡游问题
- 骑士巡游问题
- 骑士巡游问题 python
- 骑士巡游问题
- 骑士巡游问题的解法
- 骑士巡游
- 骑士巡游问题源码C语言描述
- 用java解决骑士巡游问题
- 骑士巡游问题的warnsdorff规则
- 【搜索】骑士巡游问题,简称746弯
- 骑士巡游问题的C++代码
- 骑士巡游问题:常规解法与启发式方法优化
- 程序设计大赛---骑士巡游
- 骑士巡游 马踏棋盘
- HOJ 1440 骑士巡游 BFS DFS
- caioj1039:递归9(骑士巡游)
- 2009 英特尔® 线程挑战赛 第八题 骑士巡游
- vsdafasdf
- php+apache搭建流程备忘
- 集合框架工具类COllections
- C++两个类的头文件相互包含
- Python GUI——Tkinter~简单入门
- 骑士巡游问题
- Poj 3071 Football (比赛对阵 概率DP)
- C++ STL入门教程(2)——list(双向链表)的使用(附完整程序代码)
- 2.5Bootstrap学习之按钮
- 并查集小结
- SQLite3 示例程序 - 表的创建/查找/二进制文件的保存
- Solr学习(八)多表导入
- java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
- Java :map、WeakHashMap、IdentityHashMap