小星星

提交数: 23, 通过率: 21.74%, 平均分: 52.61

题目描述:

小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品。她有 颗小星星,用 条彩色的细线串了起来,每条细线连着两颗小星星。有一天她发现,她的饰品被破坏了,很多细线都被拆掉了。这个饰品只剩下了 条细线,但通过这些细线,这 颗小星星还是被串在一起,也就是这些小星星通过这些细线形成了树。

小Y找到了这个饰品的设计图纸,她想知道现在饰品中的小星星对应着原来图纸上的哪些小星星。如果现在饰品中两颗小星星有细线相连,那么要求对应的小星星原来的图纸上也有细线相连。

小Y想知道有多少种可能的对应方式。只有你告诉了她正确的答案,她才会把小饰品做为礼物送给你呢。

输入格式:

第一行包含 个正整数 ,表示原来的饰品中小星星的个数和细线的条数。

接下来 行,每行包含 个正整数 ,表示原来的饰品中小星星 和 通过细线连了起来。这里的小星星从 开始标号。保证 ,且每对小星星之间最多只有一条细线相连。

接下来 行,每行包含 个正整数 ,表示现在的饰品中小星星 和 通过细线连了起来。保证这些小星星通过细线可以串在一起。

输出格式:

输出共 行,包含一个整数表示可能的对应方式的数量。如果不存在可行的对应方式则输出 。

样例输入:

4 3
1 2
1 3
1 4
4 1
4 2
4 3

样例输出:

6

提示:

【样例解释1】

现在的饰品中第 颗小星星与原来的第 颗对应,现在的第 颗小星星可以与原来的第 颗小星星对应,所以有 种对应方式。

【样例输入输出2】

见选手目录下的star/star.instar/star.ans。(第一题中下载)

 

【数据规模和约定】

各测试点满足以下约定:

1512870046408322760.png

时间限制: 1000ms
空间限制: 512MB

来源: 浙江省选2016day1t3