7*7格子范围内,随机分布从1-5的5个数字
前提:设总移动格子数为
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以BFS+剪枝试一试,用A*也可以,不过不知道能不能最优