比赛 |
20160902 |
评测结果 |
EEEEEEEEEE |
题目名称 |
距离 |
最终得分 |
0 |
用户昵称 |
Shirry |
运行时间 |
1.554 s |
代码语言 |
C++ |
内存使用 |
49.11 MiB |
提交时间 |
2016-09-02 21:46:09 |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int m,n;
int visited[10005]={0};
int a[4000][4000]={0};
int King=0,num=0,QAQ=0;
int DFSTraverse(int i){
visited[i]=1;
if(i==King)QAQ=num;
for(int j=1;j<=n;j++){
if(a[i][j]>=1&&visited[j]==0){
num=num+a[i][j];
DFSTraverse(j);
num=num-a[i][j];
}
}
return num;
}
int main(){
freopen ("distance.in","r",stdin);
freopen ("distance.out","w",stdout);
cin>>n>>m;
int a1,b1,c1;
for(int p=1;p<=n-1;p++){
cin>>a1>>b1>>c1;
a[a1][b1]=c1;
a[b1][a1]=c1;
}
int i,j;
for(int p=1;p<=m;p++){
num=0;
QAQ=0;
cin>>i>>j;
King=j;
DFSTraverse(i);
cout<<QAQ<<endl;
for(int k=1;k<=n;k++)visited[k]=0;
}
return 0;
}