问题描述
我必须实现一个算法,其中我们有一个现有的道路网络(通过路径连接的节点,即无向图)。我们必须将所有城市连接在一起,通常我会使用类似 Kruskal 的算法来获得最小生成树。
然而,我们不关心在城市之间移动需要多长时间(可以假设边权重都是 0 或 1 或其他东西),而是存在与建造道路相关的成本(在 2 个顶点之间添加一条边)或破坏道路(删除 2 个顶点之间的边)。这是我们唯一需要考虑的成本。我们的目标是只有 1 条路径连接每对城市。所有成本都是非负整数。
我有 3 个 2d 数组(我将它们表示为下面的矩阵,行和列是从 0、1、2...等编号的城市)
Country[i][j]=1 或 0:当且仅当 country[i][j]=1 城市 i 和 j 之间存在现有道路。
0 1 2
0 0 1 1
1 1 0 1
2 1 1 0
Build[i][j]:在 i 和 j 之间修建一条道路的成本
0 1 2
0 0 1 3
1 1 0 2
2 3 2 1
Destroy[i][j]:摧毁 i 和 j 之间的道路的成本。
0 1 2
0 0 1 3
1 1 0 2
2 3 2 1
我不知道如何去做,任何形式的指导将不胜感激
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)