#include <iostream>
#include <map>
#include <cstring>
using namespace std; int Graph[210][210];
int DP[210][2];
int count; void DFS( int index ){
DP[index][0] = 0;
DP[index][1] = 1;
for( int i = 1; i <= count; ++i ){
if( Graph[index][i] ){
DFS(i);
DP[index][0] += max( DP[i][0], DP[i][1] );
DP[index][1] += DP[i][0];
}
}
} bool check(){
for( int i = 1; i <= count; ++i ){
if( DP[i][0] == DP[i][1] ){
for( int j = 1; j <= count; ++j ){
if( Graph[i][j] == 1 && DP[j][0] == DP[j][1] ) return false;
}
}
}
return true;
} int main(){
while( true ){
memset( Graph, 0, sizeof(Graph) );
count = 1;
map<string, int>mapTemp;
int n;
cin>>n;
if( n == 0 ) break;
string boss;
cin>>boss;
mapTemp[boss] = count++;
for( int i = 2; i <= n; ++i ){
string son;
string parent;
cin>>son>>parent;
if( !mapTemp[son] ) mapTemp[son] = count++;
if( !mapTemp[parent] ) mapTemp[parent] = count++;
Graph[mapTemp[parent]][mapTemp[son]] = 1;
}
DFS(1);
cout<<max(DP[1][0], DP[1][1])<<" ";
if( n == 1 ){
cout<<"Yes"<<endl;
continue;
}
if( n == 2 ){
cout<<"No"<<endl;
continue;
}
if( check() ){
cout<<"Yes"<<endl;
continue;
}
if(!check()){
cout<<"No"<<endl;
continue;
}
}
return 0;
}

POJ_3342_Party_at_Hali-Bula的更多相关文章

  1. poj 3680 Intervals

    给定N个带权的开区间,第i个区间覆盖区间(ai,bi),权值为wi.现在要求挑出一些区间使得总权值最大,并且满足实轴上任意一个点被覆盖不超过K次. 1<=K<=N<=200.1< ...

  2. jQuery 遍历 - parent() 方法

    ylbtech-jQuery-sizzle:jQuery 遍历 - parent() 方法  parent() 获得当前匹配元素集合中每个元素的父元素,使用选择器进行筛选是可选的. 1.A,jQuer ...

  3. PHP die与exit的区别

    最近听见有人说die和exit区别,bula~bula.决心一探究竟. 翻了翻PHP 5.6的源码(源码的位置为zend目录下zend_language_scanner.l大约是1014~1020行) ...

  4. 二、jenkins配置email(以腾讯企业qq为例)

    废话不多说,直接上干货: 主要针对两个部分进行介绍: 1.jenkins内置的邮件功能: 2.Editable Email Notification插件的邮件功能: 低版本的jenkins有很多插件都 ...

  5. CTAssetsPickerController 选中图片不显示对号的问题解决

    转载自:http://blog.csdn.net/qq_27304667/article/details/53218547 早上AppStore审核通过,下载来看看.突然发现一个选择图片时候选中的标识 ...

  6. ios 点餐系统

    这个程序的主要界面就是一个TabBarController.总共三个标签,第一个是所有的可点的菜,第二个是已点的菜,第三个是可以留言或者查看所有留言. 下面是第一个页面: 右上角的i按钮是添加新菜,每 ...

  7. 动画和图形:OpenGL ES

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  8. Android Studio 插件 GsonFormat :你还在烦恼 为 Json格式 生成 JavaBean实体类吗?

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  9. Re0:在 .NetCore中 EF的基本使用

    整理一下目前在用的EFCore 记得好像是因为懒得写sql,于是开始试着用EF 先根据数据库生成一个好东西,嗯 Scaffold-DbContext "Data Source=localho ...

  10. Re0:在.NetCore 中Dapper的基本用法

    整理一下目前在用的Dapper 与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取 刚接触的时候被这块坑了,自己手动建了个app.config.然后你懂的( ...

随机推荐

  1. Oracle VM VisualBox 虚拟机创建共享文件夹。

    先来啰嗦几句,公司的电脑用的是 VMware10的虚拟机  相信大家都很熟悉了   VMware 创建共享文件功能可以直接安装tools来实现 但是 Oracle VM VisualBox  第一次玩 ...

  2. Perforce-Server迁移

    Author: JinDate: 20140827System: Windows 2008 R2 从Windows 2008 R2迁移到Windows 2008 R2 linux版本迁移官方文档htt ...

  3. SPOJ 375. Query on a tree (动态树)

    375. Query on a tree Problem code: QTREE You are given a tree (an acyclic undirected connected graph ...

  4. LM358资料及引脚图

    LM358里面包括有两个高增益.独立的.内部频率补偿的双运放,适用于电压范围很宽的单电源,而且也适用于双电源工作方式,它的应用范围包括传感放大器.直流增益模块和其他所有可用单电源供电的使用运放的地方使 ...

  5. MYSQL 慢日志

    http://blog.chinaunix.net/uid-9950859-id-122259.html

  6. mysql解决datetime与timestamp精确到毫秒的问题

    CREATE TABLE `tab1` ( `tab1_id` VARCHAR(11) DEFAULT NULL, `create` TIMESTAMP(3) NULL DEFAULT NULL, ` ...

  7. 判断一个请求是否为Ajax请求

    这几天在写一个网站的登录判断拦截器,需要对请求进行拦截,在拦截器中我需要判断HttpServletRequest是否为Ajax异步请求.我们可以通过X-Requested-With="XML ...

  8. 如何优化JAVA代码

    通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化.一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能 ...

  9. spring开发文档收集

    http://docs.spring.io/spring/docs/4.2.1.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#aop-at ...

  10. HDU1561:The more, The Better(树形DP+01背包)

    Problem Description ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物.但由于地理位置原因,有 ...