当前位置: 首页 > news >正文

网站建设站点地图自媒体平台注册入口官网

网站建设站点地图,自媒体平台注册入口官网,企业网站模板推荐,做效果图兼职的网站有哪些题目渊源: 马踏棋盘问题(又称骑士周游问题或骑士漫游问题)是算法设计的经典问题之一。 题目要求: 国际象棋的棋盘为8*8的方格棋盘,现将“马”放在任意指定的方格中,按照“马”走棋的规则将“马”进行移动。…

题目渊源:

        马踏棋盘问题(又称骑士周游问题或骑士漫游问题)是算法设计的经典问题之一。

题目要求:

        国际象棋的棋盘为8*8的方格棋盘,现将“马”放在任意指定的方格中,按照“马”走棋的规则将“马”进行移动。要求每个方格只能进入一次,最终使得“马”走遍棋盘64个方格。

        

#include <stdio.h>
#include <time.h>#define X 8
#define Y 8int chess[X][Y];//找到基于(x,y)位置的下一个可走的位置 
int nextxy(int *x,int *y,int count)
{switch(count){case 0:if(*x+2<=X-1 && *y-1>=0 && chess[*x+2][*y-1]==0){*y+=2;*y-=1;return 1;}break;case 1:if(*x+2<=X-1 && *y+1<=Y-1 && chess[*x+2][*y+1]==0 ){*x+=2;*y+=1;return 1;}break;case 2:if(*x+1<=X-1 && *y-2>=0 && chess[*x+1][*y-2]==0 ){*x=*x+1;*y=*y-2;return 1;}break;case 3:if(*x+1<=X-1 && *y+2<=Y-1 && chess[*x+1][*y+2]==0){*x = *x+1;*y= *y+2;return 1;}break;case 4:if(*x-2>=0  && *y-1>=0 && chess[*x-2][*y-1]==0){*x= *x-2;*y= *y+1;return 1;}break;case 5:if(*x-2>=0 && *y+1<=Y-1 && chess[*x-2][*y+1]==0 ){*x= *x-2;*y = *y+1;return 1;}break;case 6:if(*x-1>=0 && *y-2>=0 && chess[*x-1][*y-2]==0){*x = *x - 1;*y = *y - 2;return 1;}break;case 7:if(*x-1>=0 && *y+2<=Y-1 && chess[*x-1][*y+2]==0){*x = *x -1;*y = *y +2;return 1;}break;default:break;} return 0;
} void print()
{int i,j;for(i=0;i<X;i++){for(j=0;j<Y;j++){printf("%2d\t",chess[i][j]);}printf("\n");}printf("\n");
}//深度优先遍历棋盘
//(x,y)为位置坐标
//tag是标记变量
int TravelChessBoard(int x,int y,int tag)
{int x1= x,y1=y,count =0,flag =0;chess[x][y] = tag;if(x*Y == tag){//打印棋盘print();return 1; }//找到马的下一个可走的坐标(x1,y1)flag = nextxy(&x1,&y1,count);while(0==flag && count<7){count++;}while(flag){if(TravelChessBoard(x1,y1,tag+1)){return 1;}//出现意外,找到马的下一步可走坐标(x1,y1) x1=x;y1=y;count++;flag = nextxy(&x1,&y1,count);while(0==flag && count < 7){count++;flag = nextxy(&x1,&y1,count);}} if(0 == flag){chess[x][y] =0;} return 0;
} int main()
{int i,j;clock_t start,finish;start = clock();for(i=0;i<X;i++){for(j=0;j<Y;j++){chess[i][j]=0;}}if(TravelChessBoard(2,0,1)){printf("抱歉,马踏棋盘失败!\n");}finish = clock();printf("\n本次计算一共耗时:%f秒\n\n",(double)(finish - start)/CLOCKS_PER_SEC);return 0;
}

http://www.ds6.com.cn/news/64035.html

相关文章:

  • 个人博客网站建设选题说明北京seo全网营销
  • 廉江网站开发公司免费的网络推广有哪些
  • 怎么在百度上做自己的网站软文发布平台排名
  • 专业外贸公司网站石家庄seo推广公司
  • ps做淘宝网站导航栏申请网站怎样申请
  • 深圳福田华丰大厦网站建设网络推广学校
  • 网站开发如何避免浏览器缓存的影响seo优化推广工程师
  • 建设银行网站用户名怎么查建站seo是什么
  • 做推送的网站玄幻小说排行榜百度风云榜
  • 太原网站建设 thinkphp3.2肇庆疫情最新消息
  • 丽水网站建设报价简述如何优化网站的方法
  • 网站建设网页设计师seo网站优化培训怎么样
  • Wordpress提高pagespeed青岛seo经理
  • 网站编辑的工作内容广州谷歌seo
  • wordpress怎么放验证文件优化设计数学
  • 廊坊百度网站排名小学生摘抄新闻2024
  • 特效视频网站百度统计app下载
  • 有哪些做兼职的设计网站品牌营销策划方案案例
  • 商城网站前期准备搜索引擎优化的简写是
  • 中学网站模板下载南昌seo推广
  • 孝感网站建设什么是网络营销工具
  • 中装建设集团有限公司董事长是谁360优化大师app下载
  • 威宁建设局网站网站搜索
  • 百度网站上做推广受骗如何免费做网站网页
  • 为了 门户网站建设太原百度快速排名提升
  • 做网站用php转html站长之家seo查找
  • 修改wordpress分类顺序湖南百度seo
  • 在北京大学生做家教的网站站长工具seo综合查询分析
  • 贵阳网站建设哪家好武汉网站建设方案优化
  • 厦门网站制作推广电商从零基础怎么学