gpt4 book ai didi

Java 通过回溯拟合管道

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:24 27 4
gpt4 key购买 nike

我正在复习本地编程竞赛中的一道编程题。

问题可以下载http://www.vlaamseprogrammeerwedstrijd.be/2011/opgaves/cat2-2011/loodgieter.pdf .它是荷兰语,但图片将有助于理解它。

您收到一个 m*m 网格作为输入,其中包含一些管道和一些缺失点(问号)。剩余的管道必须放置在网格中,以便它们与其他管道连接。

每个管道都表示为一个字母(参见第 2 页的图片)。字母“A”的值为 1,“B”的值为 2,..

有人知道如何在 Java 中通过回溯来解决这个问题吗?

最佳答案

我建议收集你关于游戏的所有知识:

  • 边界较新连接
  • 管道相互连接
  • >?我真的不懂荷兰语;)

选择一个描述拼图的表示形式,每个单元格都需要连接(已经放置的部分暗示)并且可以是一些可选的,可能是连接也可能不是连接

编写放置处理程序,在将棋子放入棋盘时更新这些属性

创建决定部件是否可以放置在特定位置的逻辑。

此时从一 block 空板开始,放置你知道的部分

开始执行以下操作的递归:

  • 选择第一个空单元格
    • 如果没有则复制当前板输出(解)
  • 如果合适,它会尝试每件可用的作品
    • 如果是,放置它并自己召回

我希望你把它放在一起,这是一个很好的拼图,注意我每天都玩:daily expert netwalk , 有点类似这个,那里的heuristics可以用,也可以应用在这个问题上。

关于Java 通过回溯拟合管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com