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) から最も遠い頂点でなければならず、結果はパスの長さでなければなりません。