用端点形成路线
Form the route with the endpoints
因此,假设我们得到了端点(a,b),(b,c),(c,d),然后我们可以形成途径a-> b-> c。
请注意,终点的顺序是随机的。因此(a,b),(c,d),(b,c)也将产生a-> b-> c。
的路线,但通常,如果给我们订购的成对端点,则如何构造路线?
我不确定哪种数据结构在这里最有帮助。我正在考虑将每个坐标(x,y)存储到列表中,因为输入已阅读。
so(a,b),(c,d)将存储为{a,b,c,d}。每个元素是x还是y坐标可以通过其在列表中的位置的奇偶校验来确定(因此列表中的第一个条目为x,第二个条目为y,第3个是x等)。然后,当读取每个有序对时,我们查找列表以查看X或Y坐标是否已经在列表中。如果是这样,我们连接。
要证明,假设我们在(a,b),(c,d),(b,c)中阅读,我们的列表是{a,b,c,d}(c,d)只是读。当(b,c)读取(b,c)时,我们看到b已经在列表中。因此,我们知道A-> B->C。C也在列表中,并且我们有A-> B-> C-> D,然后我们将(B,C)添加到列表中以形成{a,b,c,d,b,c}。
我的困难是:我们如何存储A-> B-> C?我应该使用什么数据结构?我们如何跟踪我们走时形成的部分路线?
谢谢!
构建具有邻接列表表示的有向边的图。然后在起点到终点上使用dfs,并存储先前访问的节点在缓冲区中,一旦您到达目的地,缓冲区中的值就是路径。
相关文章:
- 数到第n个楼梯的路(顺序无关紧要)
- vscode g++链路故障:体系结构x86_64的未定义符号
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 将数字打印成文字
- 用c++把小数点转换成八进制
- 模板元编程:如何将参数包组合成新的参数包
- 如何在加密++中将两个源组合成新的源
- 需要将一行代码从C++ Qt翻译成PyQt
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 将多个 for 循环组合成单个迭代器
- GLFW DDS 加载函数的 OpenGL 链路错误
- OpenCV C++将灰色图像组合成彩色图像
- 从具有成对的映射中访问值
- 我在C++中使用提升哈希函数将 3 个双精度组合成一个面临冲突的哈希
- 如何将这两个函数组合成一个实现?
- QBS 为静态链路 MSVC 创建静态库
- 如何在C++中创建类型列表的 n 路笛卡尔积?
- C++ - 成对显示的整数因子
- 实现 3 路分区以实现快速排序
- 如何将 'in' 关键字从 python 翻译成 c++?