#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string,int> nameCache;
int nowID,n;
string boss;
struct Edge
{
int to,next;
}edge[];
int num_edge,first[];
int dp1[][];
bool dp2[][];
bool vis[];
//[][1]表示选此点,[][0]表示不选此点,dp1记录最多选的人数,dp2记录是否唯一
void dp(int x)
{
int k=first[x];
dp2[x][]=true;
dp1[x][]=;
dp2[x][]=true;
dp1[x][]=;
vis[x]=true;
while(k!=)
{
if(!vis[edge[k].to]) dp(edge[k].to);
dp1[x][]+=dp1[edge[k].to][];
dp2[x][]&=dp2[edge[k].to][];
if(dp1[edge[k].to][]>dp1[edge[k].to][])
{
dp1[x][]+=dp1[edge[k].to][];
dp2[x][]&=dp2[edge[k].to][];
}
else if(dp1[edge[k].to][]<dp1[edge[k].to][])
{
dp1[x][]+=dp1[edge[k].to][];
dp2[x][]&=dp2[edge[k].to][];
}
else
{
dp1[x][]+=dp1[edge[k].to][];
dp2[x][]=false;
}
k=edge[k].next;
}
}
int main()
{
int i,t1,t2;
string str,str2;
cin>>n;
while(n!=)
{
cin>>boss;
nameCache.clear();
num_edge=;
nowID=;
nameCache[boss]=;
memset(vis,,sizeof(vis));
memset(first,,sizeof(first));
for(i=;i<n;i++)
{
cin>>str>>str2;
if(nameCache.count(str)==)
{
t1=nowID++;
nameCache[str]=t1;
}
else
t1=nameCache[str];
if(nameCache.count(str2)==)
{
t2=nowID++;
nameCache[str2]=t2;
}
else
t2=nameCache[str2];
edge[++num_edge].to=t1;
edge[num_edge].next=first[t2];
first[t2]=num_edge;
}
dp();
if(dp1[][]>dp1[][])
{
printf("%d ",dp1[][]);
if(dp2[][]==true)
printf("Yes\n");
else
printf("No\n");
}
else if(dp1[][]<dp1[][])
{
printf("%d ",dp1[][]);
if(dp2[][]==true)
printf("Yes\n");
else
printf("No\n");
}
else
printf("%d No\n",dp1[][]);
cin>>n;
}
return ;
}

UVa 1220 Party at Hali-Bula 晚会的更多相关文章

  1. POJ 3342 Party at Hali-Bula / HDU 2412 Party at Hali-Bula / UVAlive 3794 Party at Hali-Bula / UVA 1220 Party at Hali-Bula(树型动态规划)

    POJ 3342 Party at Hali-Bula / HDU 2412 Party at Hali-Bula / UVAlive 3794 Party at Hali-Bula / UVA 12 ...

  2. Uva 1220,Hali-Bula 的晚会

    题目链接:https://uva.onlinejudge.org/external/12/1220.pdf 题意: 公司n个人,形成一个数状结构,选出最大独立集,并且看是否是唯一解. 分析: d(i) ...

  3. UVa 1220 Hali-Bula的晚会(树的最大独立集)

    https://vjudge.net/problem/UVA-1220 题意: 公司里有n个人形成一个树状结构,即除了老板以外每个员工都有唯一的直属上司.要求选尽量多的人,但不能同时选择一个人和他的直 ...

  4. uva 1220

    1220 - Party at Hali-Bula Time limit: 3.000 seconds Dear Contestant, I'm going to have a party at my ...

  5. UVa 1220 - Party at Hali-Bula(树形DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. UVa 1220 (树的最大独立集) Party at Hali-Bula

    题意: 有一棵树,选出尽可能多的节点是的两两节点不相邻,即每个节点和他的子节点只能选一个.求符合方案的最大节点数,并最优方案判断是否唯一. 分析: d(u, 0)表示以u为根的子树中,不选u节点能得到 ...

  7. UVA - 1220 Party at Hali-Bula 树的最大独立集

    题意:  给定n个人,存在上下级关系,每个人只有一个上级,求最大独立集.并判断最大独立集是否唯一 思路:d[i][0]表示以i为根的子树中,不选择第i个节点的最大独立集,f[i][0]表示以i为根的子 ...

  8. UVa 1220 Party at Hali-Bula (树形DP,最大独立集)

    题意:公司有 n 个人形成一个树形结构,除了老板都有唯一的一个直系上司,要求选尽量多的人,但不能同时选一人上和他的直系上司,问最多能选多少人,并且是不是唯一的方案. 析:这个题几乎就是树的最大的独立集 ...

  9. UVA - 1220 Party at Hali-Bula (树形DP)

    有 n 个员工,n-1个从属关系. 不能同时选择某个员工和他的直接上司,问最多可以选多少人,以及选法是否唯一. 树上的最大独立集问题.只不过多了一个判断唯一性. dp[u][0]表示不选这个点的状态, ...

随机推荐

  1. Windows 8实用窍门系列:20.Windows 8中的GridView使用(二)和DataTemplateSelector

    在本文中所讲述内容的实例仍然沿用于上篇文章,有什么疑惑可以参考上篇文章. 一 GroupStyle 在GridView控件中我们可以对数据进行分组显示,通过对GridView的GroupStyle进行 ...

  2. enumerated types

    控制台手动输入. package enums; import java.util.Scanner; public class EnumTest { public static void main(St ...

  3. passive aggressive(pa)和average perceptron(ap)

    passive aggressive(pa)和average perceptron(ap)

  4. local_irq_disable

    local_irq_disable 仅仅是 设置 当前CPU 的中断屏蔽位 disable_irq 是禁用 全部cpu 中断(只是当前irq) 如果你要禁止所有的中断该怎么办? 在2.6内核中,可以通 ...

  5. Collections工具类、Map集合、HashMap、Hashtable(十八)

    1.Map集合概述和特点 * A:Map接口概述 * 去重复, * 查看API可以知道, * 将键映射到值的对象, * 一个映射不能包含重复的键, * 每个键最多只能映射到一个值.* B:Map接口和 ...

  6. java8的常用的新特征

    一.Java 8 对接口做了进一步的增强.(默认方法和静态方法) a. 在接口中可以添加使用 default 关键字修饰的非抽象方法.即:默认方法(或扩展方法不用被实现)如:comparator接口. ...

  7. AtCoder Beginner Contest 057

    A题 分析:24进制转换 #include<iostream> using namespace std; int main() { int a,b; while(cin>>a& ...

  8. Laravel配置nginx环境

    前言: 之前坑的!一直在尝试配置,但都失败了,只能用着apache,但是最近想整合swoole到laravel,无奈当前测试服务器是nginx,我只能再尝试在nginx上搭laravel环境 方法如下 ...

  9. 微信小程序wxml和wxss样式

    对于css不熟悉的android程序员来说,开发微信小程序面临的一个比较困难的问题就是界面的排版了.微信小程序的排版就跟wxml和wxss有关了,它们两者相当于android的布局文件,其中wxml指 ...

  10. Autolayout UIScrollView

    http://www.cocoachina.com/ios/20141011/9871.html Xcode6中如何对scrollview进行自动布局(autolayout)   Xcode6中极大的 ...