迷宫解决约束

我知道解决迷宫问题是Stack Overflow中经常讨论的话题。 这是一个可能让你感兴趣的问题。

一个* n矩阵形式的迷宫将作为输入给出。 每个元素将介于0-9之间。 也会给出一系列数字,每个数字在0-9之间。 矩阵和序列阵列的维度也是已知的。 问题是要找到满足给定序列的从(0,0)到(n-1,n-1)的矩阵中所有可能的路径。 路径只能向下或向右移动。 必须使用线程来完成。

输入和输出格式如下所示 -

示例:示例1 http://gowthams.in/etc/1.PNG示例2 http://gowthams.in/etc/2.PNG示例3 http://gowthams.in/etc/3.PNG

每个线程都可以打印它的位置(i,j)或以稍后处理的某种数据结构进行更新。

解决这个问题的最好方法是什么?

这是一个家庭作业问题,我被允许寻求帮助。 我不寻找任何形式的代码。 我只想向正确的方向指出几点。

谢谢!


谢谢你的确切声明。

1)这句话似乎很令人不安:

您需要为矩阵中的每个条目创建线程以确保并行扫描。

因为这意味着对于矩阵NxN,您肯定需要创建N2个线程,这对我来说太过分了。

然而,你的解决方案更加危险:你想要开始检查路线,并为每个检查创建一个新的线程。 这将创建指数数量的新线程,以便解决任务。 您肯定会需要某种优化:这称为动态优化:您将存储在共享内存中是否可以使用cell (i,j)来完成从idx th索引到目标单元的序列。 这样你就不必再多次解决同一个子任务。 我建议你为每个这样的任务[i,j,idx]创建条件锁,并使用它来告诉当子线程完成时依赖它的线程。

2)多个路径对你来说不是问题:如果我正确地阅读作业,你只是对这样的路径是否存在感兴趣,而不是找到所有的解决方案。

根据要求,我没有给出确切的解决方案,只是指示。 这也正是我倾向于帮助家庭佣工的方式。

链接地址: http://www.djcxy.com/p/79617.html

上一篇: Maze solving with constraints

下一篇: image Normalization, image Range and image Scaling for different stack of images