9157-黄山旅行
本文总阅读量次
数据范围很小,枚举顶点
为了方便处理,每次经过一个顶点的距离之和进行比较更新。
void dfs(int x, int s) //x为顶点编号,s为当前边权之和
{
ans = max(ans,s);
for(int i = 1; i <= n; i++){
if(vis[i]==0 && G[x][i]!=0){
vis[i] = 1;
dfs(i,s+G[x][i]);
vis[i] = 0; //需要取消标记,经过一个点可能存在多条路径
}
}
}