jjzjj

backtracking

全部标签

c++ - 解决类似 Flood-It 难题的最少点击次数

我有N×M个网格,其中每个单元格都用一种颜色着色。当玩家点击颜色为α的网格中的任何单元格时,网格最左上角的颜色为β的单元格会接收到颜色α,但不仅如此:所有连接到的单元格仅使用颜色α或β的路径源也接收颜色α。单元格之间的连接应该只考虑在水平和垂直方向形成路径。例如,当玩家单击左侧图中突出显示的单元格时,网格会接收右侧图形的颜色。游戏的目标是使网格成为单色。输入描述Thefirstlineoftheinputconsistsof2integersNandM(1≤N≤4,1≤M≤5),whichrepresentrespectivelythenumberoflinesandthenumber

c++ - 使用递归和回溯生成所有可能的组合

我正在尝试实现一个类,该类将在给定多个元素和组合大小的情况下生成所有可能的无序n元组或组合。换句话说,当调用这个时:NTupleUnorderedunordered_tuple_generator(3,5,print);unordered_tuple_generator.Start();print()是在构造函数中设置的回调函数。输出应该是:{0,1,2}{0,1,3}{0,1,4}{0,2,3}{0,2,4}{0,3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}这是我目前所拥有的:classNTupleUnordered{public:NTupleUnordered(

VBA Excel Call和Run Breaking Backtracking

我正在制作一个带有许多不同潜艇的工作簿,为了避免用户意外激活删除表格代码的子,例如,我尝试将所有Subs私有化。现在,只能通过单击工作表上的按钮来激活我的潜艇,并且一切都按预期工作。当然,我的潜水艇试图在另一个模块中致电一个私人子。为了解决这个问题,我用了Application.Run而不是Call,这起作用了,还允许我从上一本子中调用一个变量的“sextsub”,这给了我一些我需要的灵活性,并且显然无法获得Call.例如。SubFirstSub()*SomethinggoingonApplication.Run"SecondSub",SomeVariableSubEndsubSubSecon

算法-Backtrack回溯题型练习

BacktrackBacktrack是DFS的一种形式,基本写法类似于TopDownDFS,但是引入状态回溯。每次搜索一个分支,会首先记录当前节点的状态,尝试完某个分支后,把状态回溯到记录的状态,再去尝试另外的分支。为什么要回溯状态?如果不回溯,A分支的状态可能会被带入B分支,但他们又是独立的,所以会影响结果。Backtrack()BaseCaseForeachpossibilitypa.Memorizecurrentstateb.backtrack(next_state)c.Restorecurrentstate实例/*给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按

ios - 跟踪应用程序的运行时间 iOS

有什么方法可以知道前台应用程序运行了多长时间?我想到了三种可能的解决方案:我。usebatteryconsumptionandbatteryconsumptionrate(iOS8及以后的版本会告诉你app的电池使用情况,但电池消耗会很难处理)二。使用系统进程监视器三。使用Apple的诊断日志。这种做法相当“后门”。另外,我不确定Apple是否允许我们使用这些信息。有人能告诉我上述任何解决方案是否现实吗?如果没有,我想知道是否有可能找出iOS上正在运行的应用程序的持续时间? 最佳答案 您不能像其他应用那样访问任何数据。因为每个应用程

swift - 使用回溯的最佳权重子集总和

我正在尝试解决一个问题。我有一些重量。[2,7,20,70,200,700]在给定输入后,例如1507,它应该返回这些权重的最佳组合。在本例中为[700,200,200,200,200,7]。不幸的是,我的算法返回了[700,700,70,20,7,2,2,2,2,2]。当我说最佳时,我的意思是我的算法应该使用尽可能少的权重。funcsolve(_targetValue:Int,weights:inout[Int])->[Int]{//TheusedweightstostorevarusedWeights:[Int]=[]//Thecurrenttotalvalueforthecalc

java - 从一组中找出浪费最少的数字

一个集合被传递给下面的这个方法,并且一个柱的长度也被传递进来。解决方案应该输出集合中的数字,如果集合中的某些数字被从柱中移除,那么解决方案应该输出最小的浪费量长度。因此,条形长度10,集合包括6、1、4,因此解决方案是6和4,并且浪费为0。我在通过集合回溯的条件上遇到了一些麻烦。我还尝试使用浪费的“全局”变量来帮助回溯方面,但无济于事。SetInt是一个手工制作的集合实现,可以添加、删除、检查集合是否为空并返回集合中的最小值。/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/pac

c++ - 编程练习的回溯解决方案(安装管道)

我正在审查本地编程竞赛中的一个编程问题。您可以下载问题here(PDF)。它是荷兰语,但图片将有助于理解它。您收到一个m*m网格作为输入,其中包含一些管道和一些缺失点(问号)。其余的管道必须放置在网格中,以便它们与其他管道连接。每个管道都表示为一个字母(参见第2页的图片)。字母“A”的值为1,“B”的值为2,..我尝试通过回溯来解决它(它还不能很好地工作)。但是由于网格可以是10x10,这将太慢。有人可以提出更好(更快)的解决方案/方法吗?#include#include#includeusingnamespacestd;#definesz(a)int((a).size())#defi

c++ - 编程练习的回溯解决方案(安装管道)

我正在审查本地编程竞赛中的一个编程问题。您可以下载问题here(PDF)。它是荷兰语,但图片将有助于理解它。您收到一个m*m网格作为输入,其中包含一些管道和一些缺失点(问号)。其余的管道必须放置在网格中,以便它们与其他管道连接。每个管道都表示为一个字母(参见第2页的图片)。字母“A”的值为1,“B”的值为2,..我尝试通过回溯来解决它(它还不能很好地工作)。但是由于网格可以是10x10,这将太慢。有人可以提出更好(更快)的解决方案/方法吗?#include#include#includeusingnamespacestd;#definesz(a)int((a).size())#defi

c++ - 12个统治骑士拼图(回溯)

我一直在寻找几个小时,还没有找到解决这种难题的完全有效的解决方案。所以我对主教也有类似的问题。我需要做的是在棋盘上放置12个骑士,使棋盘上的所有空闲方格都被至少一个棋子攻击。最终的结果应该是这样的:问题是我的程序只尝试了最后两个部分的不同组合,然后不知何故崩溃了。已编辑到目前为止我做了什么:#includeusingnamespacestd;#defineN8voidfillChessBoard(int(&chessBoard)[N][N],intnum);voidprintChessBoard(int(&chessBoard)[N][N]);voidremoveKnight(int(