Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm Google CodeJam“;“过马路”;混乱的测试用例_Algorithm_Math_Dynamic Programming - Fatal编程技术网

Algorithm Google CodeJam“;“过马路”;混乱的测试用例

Algorithm Google CodeJam“;“过马路”;混乱的测试用例,algorithm,math,dynamic-programming,Algorithm,Math,Dynamic Programming,我有一个关于这个代码阻塞问题的问题: 我实现了动态规划解决方案,并在“B-small-practice.in”(单击“Solve B-small”获取文件)上比较了运行我的程序和第一名优胜者程序的结果 我的程序对所有100个测试用例给出正确答案(与第一名优胜者的程序相同),只有两个例外:#5和#6 让我们看一看案例#5: 有4个十字路口。我的答案是“17”。正确答案是“12”。我不明白怎么可能得到“12”;当我尝试手动操作时,我能得到的最好结果是“17”。成本为“12”的路径是什么 输入可转换为

我有一个关于这个代码阻塞问题的问题:

我实现了动态规划解决方案,并在“B-small-practice.in”(单击“Solve B-small”获取文件)上比较了运行我的程序和第一名优胜者程序的结果

我的程序对所有100个测试用例给出正确答案(与第一名优胜者的程序相同),只有两个例外:#5和#6

让我们看一看案例#5:


有4个十字路口。我的答案是“17”。正确答案是“12”。我不明白怎么可能得到“12”;当我尝试手动操作时,我能得到的最好结果是“17”。成本为“12”的路径是什么

输入可转换为交叉口的以下计时,其中NS表示允许行人穿越北部或南部的时间,EW表示允许行人穿越东部或西部的时间

A -- NS:0   EW:1  NS:2     EW:3
B -- NS:0-4 EW:5  NS:6-15  EW:16 NS:17-26
C -- NS:0-9 EW:10 NS:11-20
D -- EW:0-9 NS:10 EW:11-20
很容易看出,如果您在时间16时沿EW方向穿过交叉口B,您将以17时结束。但关键是你永远不必在EW方向穿过B

从时间12开始向后计算,解决方案必须在时间11沿NS方向穿过交叉点B。从那里很容易回到起点


好的,谢谢。我错误地认为,只有向上和正确的行动是需要的最佳解决方案。有趣的是,在100个测试用例中,只有两个需要这些“向后”移动。
A -- NS:0   EW:1  NS:2     EW:3
B -- NS:0-4 EW:5  NS:6-15  EW:16 NS:17-26
C -- NS:0-9 EW:10 NS:11-20
D -- EW:0-9 NS:10 EW:11-20