比赛 noip2016普及练习2 评测结果 AAAAAAAA
题目名称 保卫钓鱼岛! 最终得分 100
用户昵称 Holiye 运行时间 0.133 s
代码语言 C++ 内存使用 0.39 MiB
提交时间 2016-11-07 20:37:26
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <cassert>
#include <climits>
#include <cstdlib>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <sstream>
#include <string>
using namespace std;

struct node
{
	int fa,w;
};
const int maxn=10000+5;
node a[maxn];
int n,m;
unsigned long long ans,c;
int main()
{
	freopen("diaoyu.in","r",stdin);
	freopen("diaoyu.out","w",stdout);
	
	cin>>n>>m;
	for(int i=1;i<n;i++)
	{
		int s,e,w;
		scanf("%d%d%d",&s,&e,&w);
		a[e].fa=s;
		a[e].w=w;
	}
	//ji lu fu jie dian he dao fu jie dian de zhi
	for(int i=1;i<=m;i++)
	{
		int s,e;
		scanf("%d%d",&s,&e);
		if(s==e) continue;
		int w=0;
		int t=e,t2=0;
		while(t!=s)
		{
			w+=a[t].w;
			t2++;
			if(t2>n || a[t].fa==0) break;
			t=a[t].fa;
		}
		if(t==s)
		{
			c++; ans+=w;
		}
	}
	cout<<c<<endl<<ans<<endl;
	return 0;
}