小星星
提交数: 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.in与star/star.ans。(第一题中下载)
【数据规模和约定】
各测试点满足以下约定:
时间限制: 1000ms空间限制: 512MB
来源: 浙江省选2016day1t3