求救(铲雪车)
  • 板块题目总版
  • 楼主wudaojiushu
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/12 10:02
  • 上次更新2023/11/3 10:24:00
查看原帖
求救(铲雪车)
725268
wudaojiushu楼主2023/7/12 10:02
#include<bits/stdc++.h>  
using namespace std;  
int fir[100005],ne[200005],to[200005],w[200005],np=0; 

void add(int x,int y,int z){

   ne[++np]=fir[x];  
   fir[x]=np;  
   to[np]=y;  
   w[np]=z;  
}

int dfs(int u,int f){ 

   int ans=0;  
   for(int i=fir[u];i;i=ne[i]){  
   	int v=to[i];  
   	if(v==f)continue;  
   	int tmp=dfs(v,u)+w[i];  
   	ans=max(ans,tmp);  
   }  
   return ans;  
}  
int main(){  

   int n,s;  
   scanf("%d%d",&n,&s);  
   int sum=0;  
   for(int i=1,x,y,z;i<=100;i++){  
   	scanf("%d%d%d",&x,&y,&z); 
   	if(x==EOF||y==EOF||z==EOF)break;  
   	add(x,y,z);  
   	add(y,x,z);  
   	sum+=z;  
   }  
   printf("%d",sum*2-dfs(s,0));  
   return 0;    
}  

这个到底错在哪里了呜呜呜

2023/7/12 10:02
加载中...