description
有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑(至少有一條邊)使得這條路徑上的權值之和最大,並輸出這個最大值。
input
第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n(2<=n<=10^5),s(1<=s<=n),分別表示樹結點數目以及給定的起點,點的編號從1至n。接下來m行,每行三個整數x,y,z,(1<=x,y<=n,|z|<=1000),代表編號為x和y的點之間有一條權值為z的雙向邊。
output
每組資料輸出一行,即所找到路徑的最大權值(格式參見樣例)。
sample input
2 3 1
1 2 10
1 3 5
5 5
1 5 70
4 3 100
5 3 -10
2 5 60
sample output
case #1: 10
case #2: 90
hint
source
2023年6月月賽-暨中南大學暑期集訓選拔賽第二場
author
xushu
看完思路還是有的,直接搜尋起點到每個鄰節點的最大值,一直搜尋到最後的鄰節點沒有其他的鄰接節點為止
**還是根據網上的題解寫的,還不太熟練使用vector的二維操作。
#include #include #include #include #include #include #include #include #include #include #includeconst double eps=1e-8;
const double pi=acos(-1.0);
using namespace std;
const int max=1e5+5;
struct edgeedge;//存放鄰節點和邊的權值
vectore[max];
int v[max];
int dis[max];
void dfs(int start){
v[start]=1;
for(int i=0;i
CSU 1960 B 單源最大權路徑
有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑 至少有一條邊 使得這條路徑上的權值之和最大,並輸出這個最大值。input 第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n 2 n 10 5 s 1 s n 分別表示樹結點數目以及給定的起點,點的...
最大權值和路徑
有乙個機械人位於乙個m n個網格的右上角。機械人每一時刻只能向下或者向左移動一步。機械人試圖達到網格的左下角。每個網格上有乙個數字權值,機械人希望它走到左下角的路徑權值和最大。問這個最大路徑權值和是多少?例1 輸入 1,2,3,4 3,5,6,7 9,10,1,2 4,4,5,5 輸出 45.解釋 ...
CSU暑期集訓day05 DFS 單源最大權路徑
有一棵由n個結點構成的樹,每一條邊上都有其對應的權值。現在給定起點,求從該點出發的一條路徑 至少有一條邊 使得這條路徑上的權值之和最大,並輸出這個最大值。第一行乙個正整數t,代表資料組數。每組資料第一行兩個正整數n 2 n 10 5 s 1 s n 分別表示樹結點數目以及給定的起點,點的編號從1至n...