题号:NC17069
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
袋鼠先生的王国有n座城市,城市之间有n-1条长度为1的双向道路,任意两座城市都可以通过这些双向道路互通。袋鼠先生王国的商业十分发达,对于任意两座不同的城市A, B,都有一支从A通往B的商队,以及一支从B通往A的商队,商队一定会沿着最短路径行进。
某一天袋鼠先生王国突然出现了m条空间隧道,每条空间隧道连接两个不同的城市。当一支商队行进到某条空间隧道的一端时,如果隧道的另一端也在这支商队的线路上,那商队会直接穿越隧道到达另一端并继续前进。
不幸的是,这些空间隧道其实是敌对势力的阴谋,某一天敌对势力对空间隧道发动了奇袭,所有穿过了空间隧道的商队都被俘获了。现在袋鼠先生希望你帮他统计有多少商队还存留着。
输入描述:
第一行两个整数n, m(2≤n≤100,000,1≤m≤100,000)代表城市数量以及空间隧道的数量。
接下来n-1行每行两个不同的整数A, B代表城市A, B之间存在一条双向道路。
接下来m行每行两个不同的整数x, y代表城市x, y之间出现了一条空间隧道。
输出描述:
输出一个整数表示有多少商队还存留着。
示例1
输入
复制
5 2
1 2
2 3
1 4
4 5
1 3
4 5