1. 程式人生 > >洛谷P1294 高手去散步

洛谷P1294 高手去散步

圖的dfs,第一次dfs圖,特此記錄

程式碼

#include <bits/stdc++.h>
using namespace std;
int G[100][100],bk[100],ans,fans;
int n,m;
void dfs(int cur,int dis)
{
  ans=max(ans,dis);//求最大路徑
  for(int i=1;i<=n;i++)
  {
    if(G[cur][i]&&!bk[i])//保證訪問次數為1
    {
      bk[i]=1;
      dfs(i,dis+G[cur][i]);
      bk[i]=0;
    }
  }
}
int main()
{
  cin>>n>>m;
  while(m--)
  {
    int t1,t2,t3;
    cin>>t1>>t2>>t3;
    G[t1][t2]=G[t2][t1]=t3;//注意雙向圖
  }
  for(int i=1;i<=n;i++)//列舉從每個節點開始
  {
    bk[i]=1;
    dfs(i,0);
    fans=max(fans,ans);
    memset(bk,0,sizeof(bk));
  }
  cout<<fans;
}