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

重庆 网站 建设 公司网站开发工具

重庆 网站 建设 公司,网站开发工具,鄂州网站建设与设计,后端开发是干什么的目录 六宫数局 示例题目 简单模式 普通模式 困难模式 六宫数局 最强大脑同款项目。 找出一条给定起点和终点的路径,每一步的方向任选,在这个方向上移动的步数是当前数的质因数分解中2、3、5的次数。 示例题目 按照六边形坐标系来建立坐标系&#…

目录

六宫数局

示例题目

简单模式

普通模式

困难模式


六宫数局

最强大脑同款项目。

找出一条给定起点和终点的路径,每一步的方向任选,在这个方向上移动的步数是当前数的质因数分解中2、3、5的次数。

 

示例题目

 按照六边形坐标系来建立坐标系,用BFS算法求解:

#include <iostream>
#include<string>
#include<string.h>
using namespace std;struct Node
{int x,y;
};int GetLen(Node a, Node b)
{if (a.x > b.x)return GetLen(b, a);int dx = b.x - a.x;int dy = abs(b.y - a.y);if (dx % 2 == 0) {if (dy <= dx / 2)return dx;return dx + dy - dx / 2;}int ym = dx / 2 + ((a.x + (b.y < a.y)) % 2 + 2) % 2;if (dy <= ym)return dx;return dx + dy - ym;
}
Node Move(Node a, int dire, int len)//dire是0-5,len是0-正无穷
{if (dire % 3 == 0)return Node{ a.x, a.y + (dire == 0 ? 1 : -1) * len };if (dire == 1 || dire == 5)return Node{ a.x + (dire == 1 ? 1 : -1)*len,  a.y + len / 2 + (len % 2 ? (a.x % 2 + 2) % 2 : 0) };Node b = Move(a, 3, len);if (dire == 2)return Move(b, 1, len);return Move(b, 5, len);
}const int R = 4;
const int sizet = R * 2 + 1;
int board[sizet][sizet];
bool InBoard(Node a)
{return GetLen(Node{ 0,0 }, a) <= R;
}
void Init()
{for (int i = 0; i < sizet; i++)for (int j = 0; j < sizet; j++) {if (!InBoard(Node{ i - R,j - R })) {continue;}cin >> board[i][j];}
}
void bfs(Node a)
{queue<Node>q;q.push(a);map<int, int>m;m[a.x*R * 3 + a.y] = 1;int p[] = { 5,2,3,5,3,2 };while (!q.empty()) {Node k = q.front();q.pop();int n = board[k.x + R][k.y + R];for (int dire = 0; dire < 6; dire++) {int s = 0, n2 = n;while (n2%p[dire] == 0)n2 /= p[dire], s++;if (s == 0)continue;Node b = Move(k, dire, s);if (!InBoard(b))continue;if (m[b.x*R * 3 + b.y] == 0)q.push(b);m[b.x*R * 3 + b.y] = 1;cout << n << "->" << board[b.x + R][b.y + R] << endl;}}
}int main()
{//freopen("D:/in.txt", "r",stdin);Init();bfs(Node{ 0,-R });return 0;
}

输入:

308 454 219 304 248
271 416 473 291 361 392 
286 330 875 175 367 472 266
434 432 164 621 316 269 450 484
54 332 103 328 300 494 391 115 413
244 376 370 131 356 426 495 74
215 409 235 457 401 346 290
625 317 459 321 513 265
427 112 172 364 131

输出:

54->244
54->434
244->625
244->432
434->332
434->286
625->513
432->459
332->409
332->330
286->432
286->271
513->300
459->103
330->875
330->164
330->432
330->286
330->271
330->416
300->391
300->401
300->131
300->103
300->621
300->367
875->472
164->131
164->473
416->401
621->409
621->308
472->74
308->875
74->413

求出来的最短路比示例路径短3步。

简单模式

普通模式

困难模式

 

http://www.hrbkazy.com/news/46558.html

相关文章:

  • 东莞网站建设aj博客平台推广公众平台营销
  • 怎么找人做淘宝网站吗软媒win7优化大师
  • 做网站怎么导入源码网络营销产品策略
  • 郑州app开发网站建设从哪里找网络推广公司
  • 中华人民共和国城乡住房建设部网站英文谷歌优化
  • 中国住房城乡建设厅网站首页百度云盘网页登录入口
  • b2c商城网站厦门网站seo哪家好
  • 东莞php网站建设网站优化软件
  • 肇庆网站建设方案优化网站推广联盟
  • 做棋牌网站的步骤常见的网络营销方式
  • 做网站需要什么知识seo教程搜索引擎优化
  • 自己怎么做VIP视频解网站今日新闻最新
  • 顺德网站建设jinqiye护肤品营销策划方案
  • b2b独立站建站2024年的新闻时事热点论文
  • 南乐网站建设电话最新网络营销方式
  • 北京seo代理公司seo基础入门免费教程
  • 做网站 信科网站建设便宜免费刷推广链接的网站
  • 网站优化哪家好晚上免费b站软件
  • 十堰秦楚网 十堰新闻门户网站网店如何引流与推广
  • 网站建设mrd文档模板惠州seo推广外包
  • app应用网站源码深圳网络营销策划有限公司
  • 南京做网站询南京乐识怎么做网站教程
  • 优惠券网站开发哪家好自己怎么做网站推广
  • 网站建设费用推荐网络专业手机网站模板建站
  • 公司门户网站怎么做外贸网站制作公司
  • 朝阳网站建设公司搜索竞价
  • 网页设计个人网站怎么做百度联盟注册
  • oem网站建设源码现在最火的推广平台
  • 公司网站怎么建站最近发生的新闻大事
  • 株洲做网站的公司今日国内新闻大事件