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

网站开发亿玛酷可靠5公司如何建立网站

网站开发亿玛酷可靠5,公司如何建立网站,广州最繁华的地方在哪里,wordpress ajax评论图片题目描述 光头强正在研究国际象棋中的马的问题。他知道马可以走遍棋盘上每一个点,现在问题是,给你他想不出,如果已知初始位置和目标位置,最少需要走几次才能从初始位置到达目标位置? 要不你写个程序帮帮他&#xff1…

题目描述

光头强正在研究国际象棋中的马的问题。他知道马可以走遍棋盘上每一个点,现在问题是,给你他想不出,如果已知初始位置和目标位置,最少需要走几次才能从初始位置到达目标位置?

要不你写个程序帮帮他?

image

输入格式

输入将包含多个测试用例。每个测试用例占一行,两个长度为 22 的字符串代表起点和终点。棋盘的网格横向编号a−ha−h,纵向编号1−81−8。

输出格式

对于每个测试用例,输出一行:

To get from xx to yy takes n knight moves.

样例

输入数据 1

e2 e4
a1 b2
b2 c3
a1 h8
a1 h7
h8 a1
b1 c3
f6 f6

 

输出数据 1

To get from e2 to e4 takes 2 knight moves.
To get from a1 to b2 takes 4 knight moves.
To get from b2 to c3 takes 2 knight moves.
To get from a1 to h8 takes 6 knight moves.
To get from a1 to h7 takes 5 knight moves.
To get from h8 to a1 takes 6 knight moves.
To get from b1 to c3 takes 1 knight moves.
To get from f6 to f6 takes 0 knight moves.

代码实现

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <iomanip>
#include <set>
#include <list>
#include <string.h>
using namespace std;string star1;
string end1;
int arrl[8] = { 1, -1, 2, 2, 1, -1, -2, -2 };
int arrh[8] = { -2, -2, -1, 1, 2, 2, 1, -1 };
struct str
{int x;int y;int pos;
};
int sreach()
{int arr[9][9] = { 0 };int x = star1[0] - 'a' + 1;int y = star1[1] - '0';int rx = end1[0] - 'a' + 1;int ry = end1[1] - '0';list<struct str> list;list.push_back({ x,y,0 });arr[x][y] = 1;while (!list.empty()){int xx = list.front().x;int yy = list.front().y;for (int i = 0; i < 8; i++){if (xx + arrh[i] >= 1 && xx + arrh[i] <= 8 && yy + arrl[i] >= 1 && yy + arrl[i] <= 8 && arr[xx + arrh[i]][yy + arrl[i]] == 0){if (xx + arrh[i] == rx && yy + arrl[i] == ry){return list.front().pos + 1;}arr[xx + arrh[i]][yy + arrl[i]] = 1;list.push_back({ xx + arrh[i],yy + arrl[i],list.front().pos + 1 });       }}list.pop_front();}return 0;}int main()
{while (cin >> star1){cin >> end1;if (star1 == end1){cout << "To get from " << star1 << " to " << end1 << " takes 0 knight moves." << endl;continue;}int flag = sreach();if (flag){cout << "To get from " << star1 << " to " << end1 << " takes " << flag <<" knight moves." << endl;}}return 0;
}

http://www.dtcms.com/wzjs/7722.html

相关文章:

  • 卖域名做非法网站怎么建立网站的步骤
  • 网站制作横幅图片素材最近的国际新闻
  • 哈尔滨最新通知网站排名优化手机
  • 中国展览公司前十名seo优化信
  • 做网站建设推广好做吗seo快速排名优化
  • 自己可以做英文网站么网站软件下载大全
  • 通辽网站制作公司百度seo快排软件
  • 网站开发需要哪些人员网站怎么被百度收录
  • 网络营销与直播电商是什么国内做seo最好公司
  • 云海建设工程有限公司网站网页设计首页制作
  • 用python做网站不常见建站为应用技术
  • 做网站要用框架吗营销型网站的类型有哪些
  • h5免费制作网站模板盐城网站优化
  • 济南专业网站建设seo培训资料
  • 免费企业网站报价制作网站免费
  • 怎么做监测网站的浏览量网络营销的特点是什么?
  • 做bannar在哪个网站参考友情链接出售平台
  • 成都专业网站建设超云seo优化
  • 网站策划工作条件引流推广平台软件
  • 买空间做网站百度怎么推广自己的产品
  • 大连开发区网站开发公司网站seo诊断报告怎么写
  • 热门课程自己做网站独立站平台选哪个好
  • 做3d兼职网站企业互联网推广
  • 网站域名注册商标搜索网站关键词
  • 武夷山网站推广服务人工智能培训班收费标准
  • 华联app每周四抢电影票网络推广优化
  • 南京做南京华美整容网站推广广告
  • 帮人家做网站难吗手机搜索引擎排名
  • 网站建设推广刘贺稳1哪家公司建设网站好
  • 建设网站项目的目的是什么意思网站安全检测在线