7*7格子范围内,随机分布从1-5的5个数字

发布于 2022-08-29 18:06:58 字数 768 浏览 8 评论 0

前提:设总移动格子数为

int total=0
int grid[7][7]

grid[2][3]=1进行

left:grid[2][2]=1 grid[2][3]=4 total++
right: grid[2][4]=1 grid[2][3]=0 total++
up:grid[1][3]=1 grid[2][3]=0 total++
down:grid[3][3]=1 grid[2][3]=0 total++
sucess(1 or 2):
1.for(int i=0; i<6; i++) grid[x][y+i] = i+1
2.for(int i=0; i<6; i++) grid[x+i][y] = i+1

7x7格子中有1-5,5个数字,可以上下左右移动,每次移动消耗total++,找出一种total为最小的移动方法,使1-5排列成横行或者竖列,目前没啥思路,求思路或者方案

如:

0 0 0 0 0 0 0
2 0 0 0 0 0 0
0 0 4 1 0 0 0
0 3 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 5 0

移动为:

0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 2 3 4 5 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

财迷小姐 2022-09-05 18:06:58

可以BFS+剪枝试一试,用A*也可以,不过不知道能不能最优

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文