我们想找到离第 i 个顶点最远的顶点,
最远的顶点到图的当前顶点,给我们最大的路径。
请帮助我解决这个问题:
vector<int> v[100];
bool mark[100];
int v1;
inline int max_path(int k)
{
int result = -1;
mark[k] = true;
for(int i=0; i<v[k].size(); i++)
if(!mark[v[k][i]])
{
int x = max_path(v[k][i]);
if(x > result)
{
result = x;
v1 = v[k][i];
}
}
return result+1;
}
v1 必须是到当前顶点 (k) 最远的顶点,结果必须是路径的长度。