编程之美2014 资格赛题目1 : 同构
2014-04-11 17:48
197 查看
时间限制:2000ms
单点时限:1000ms
内存限制:256MB
现在你需要对树A的边进行二染色。
一个好的染色方案,指不存在一个树A中的连通块,同时满足以下2个条件
1. 其中只有同色的边
2. 和B同构。两个树同构是指,存在一个一一映射(既是单射又是满射),将树B的各节点映射到不同的树A的节点,使得原来在树B中相邻的点,在映射后,仍相邻。
问是否存在一种好的染色方案。
接下来是T组输入数据,测试数据之间没有空行。
每组数据格式如下:
第一行一个整数N ,表示树A的节点总数。
接下来N-1行,每行2个数a, b (1 <= a, b <= N)表示树A的节点a和b之间有一条边。
接下来一行,一个整数M(1 <= M <= N),表示树B的节点总数。
接下来M-1行,每行2个数a, b (1 <= a, b <= M)表示树B的节点a和b之间有一条边。
大数据:1 <= N <= 1000000
样例输入
样例输出
单点时限:1000ms
内存限制:256MB
描述
给定2个树A和B,保证A的节点个数>=B的节点个数。现在你需要对树A的边进行二染色。
一个好的染色方案,指不存在一个树A中的连通块,同时满足以下2个条件
1. 其中只有同色的边
2. 和B同构。两个树同构是指,存在一个一一映射(既是单射又是满射),将树B的各节点映射到不同的树A的节点,使得原来在树B中相邻的点,在映射后,仍相邻。
问是否存在一种好的染色方案。
输入
第一行一个整数T (1<=T<=10),表示数据组数。接下来是T组输入数据,测试数据之间没有空行。
每组数据格式如下:
第一行一个整数N ,表示树A的节点总数。
接下来N-1行,每行2个数a, b (1 <= a, b <= N)表示树A的节点a和b之间有一条边。
接下来一行,一个整数M(1 <= M <= N),表示树B的节点总数。
接下来M-1行,每行2个数a, b (1 <= a, b <= M)表示树B的节点a和b之间有一条边。
输出
对每组数据,先输出“Case x: ”,x表示是第几组数据,然后接“YES”/“NO”,表示是否存在所求的染色方案。数据范围
小数据:1 <= N <= 20大数据:1 <= N <= 1000000
样例解释
无论如何染色,只要从A中挑一条边就行了。样例输入
1 3 1 2 2 3 2 1 2
样例输出
Case 1: NO
相关文章推荐
- 微软2014编程之美初赛第一场——题目2 : 树
- 微软2014编程之美挑战赛初赛第二场 题目2 : 字符串压缩
- [转]编程之美 2013 全国挑战赛 资格赛 题目三 树上的三角形
- 2014微软编程一小时题目1 : Arithmetic Expression
- 编程之美资格赛——题目2 : 回文字符序列
- 编程之美 2013 全国挑战赛 资格赛 题目三 树上的三角形
- 2014微软编程一小时题目2 : Longest Repeated Sequence
- 资格赛:题目1:同构
- 编程之美2014测试阶段题目--传话游戏
- 微软2014编程之美初赛第一场——题目3 : 活动中心
- (2014编程之美资格赛)题目2 : 大神与三位小伙伴
- 编程之美2014资格赛 hihoCoder 题目3:格格取数
- 2014微软编程一小时 题目1 : Arithmetic Expression Java实现
- 编程之美2014 资格赛题目2 : 大神与三位小伙伴
- 微软2014编程之美初赛第一场——题目2 : 树
- 编程之美 2013 全国挑战赛 资格赛 题目二 长方形
- 编程之美2014 资格赛题目3 : 格格取数
- 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]
- 微软编程之美的资格赛,这么简单的题目害我编了一个多小时——传话游戏
- 编程之美2014资格赛题目3:格格取数