zoukankan      html  css  js  c++  java
  • 编程之美2014 资格赛题目1 : 同构

    时间限制:2000ms
    单点时限: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
  • 相关阅读:
    MySQL进阶:主主复制+Keepalived高可用
    Zabbix 5.0:磁盘自动发现和读写监控
    Zabbix 5.0 优化建议
    容器进阶:OCI与容器运行时
    openresty快速安装
    ansible:playbook详解
    Shell:如何遍历包含空格的文本
    Linux性能优化:内存使用情况分析
    Shell:如何写一个多选菜单的脚本
    算法路漫漫(二) 递归与归并
  • 原文地址:https://www.cnblogs.com/stonehat/p/3659205.html
Copyright © 2011-2022 走看看