gpt4 book ai didi

c++ - C++ 中的 Floyd 算法

转载 作者:行者123 更新时间:2023-11-28 07:43:50 25 4
gpt4 key购买 nike

<分区>

我正在尝试用 C++ 实现 Floryd 算法

我已经有了:

a表示边开始的节点。

b表示边结束的节点。

t表示边沿的时间。

m 表示边的数量。

n表示节点数。

typedef pair<int,int> nodo;
vector <nodo> g[100000];

void preguntarFloyd()
{
g->clear();
int m;
int contador = 0;
cin m;

for(int k = 0; k < m ; k++)
{
int a, b, t;
cin >> a >> b >> t;
g[a].push_back(nodo(b,t));
}

for (int k = 0; k < n; k++)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j <n; j++)
{
if(g[i][k].second + g[k][j].second < g[i][j].second )
{
g[i][j].second = g[i][k].second + g[k][j].second;
}
}
}
}


}

当我尝试代码时,程序崩溃并提示:“表达式: vector 下标超出范围”

我一直没能解决这个问题,希望你们能帮助我!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com