一个和谐的上午
我正打者代码P1351
#include <bits/stdc++.h>
using namespace std;
int n,w[200005],g[200005][200005]={200005},x,y,maxn,ansn=0;
int main(){
cin>>n;
for(int i=1;i<n;i++){
cin>>x>>y;
g[x][y]=1;
g[y][x]=1;
}
for(int i=1;i<=n;i++){
cin>>w[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if(i!=j&&i!=k&&j!=k&&g[i][j]+g[j][k]<g[i][k]){
g[i][k]=g[i][j]+g[j][k];
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i!=j&&g[i][j]==2){
ansn+=w[i]*w[j];
ansn%=10007;
if(w[i]*w[j]>maxn){
maxn=w[i]*w[j];
}
}
}
}
cout<<maxn<<endl<<ansn;
}
额,然后就CE
了