초대 > 문제은행

본문 바로가기


문제은행

1095 : 초대

제한시간: 1000 ms    메모리제한: 128 MB
해결횟수: 17 회    시도횟수: 105 회   



대기업 XYZ의 ABC라는 자회사에서 그동안의 노고를 치하 하고자 파티를 열게 되었다.
기업 ABC는 사장이 1명이 존재하고, 직원끼리는 계층적인 구조(tree구조)를 띠고 있다.
계층 구조에선 A가 B의 상사이고, B가 C의 상사일 때, A는 C의 상사임이 성립이 된다. 당연하지만 어떤 부하직원이 해당 상사의 상사가 될 수는 없다.

 

파티를 위해 초대장을 보내려고 하는데, 이 기업은 자신의 바로 위에 위치한 상사와 부하 직원의 사이가 매우 좋지 않기 때문에, 상사가 초대될 경우, 부하 직원은 초대 될 수 없게 된다.

 

허나 파티를 최대한 성대하게 치루기 위해서 최대한 많은 사람을 초대하고자 한다.

 

기업 ABC의 직원 간의 관계가 입력되었을 때, 최대한 많은 사람을 초대할 경우의 명수와, 이러한 경우의 수가 유일한지 알아보는 프로그램을 작성하라.


입력의 첫번째 줄에는 직원의 명수 N(1≤N≤200)이 입력된다. 그 다음 줄에는 사장의 이름이 입력된다. 그리고 N-1 줄에는 직원과의 관계가 입력되는데, 공백을 사이에 두고 2개의 이름이 A, B가 입력되는데, B가 A의 직속 상사라는 것을 의미한다. 따라서 B가 초대 될 경우 A가 초대 될 수 없으나, B가 초대 되지 않았을 경우 A는 파티에 초대 될 수 있다. 사장이 꼭 초대 될 필요는 없다. 각 이름은 최대 100글자 이하로 표시되며, 이름 내에 공백을 포함하지 않는다.



입력에 대해서 최대한 초대할 수 있는 사원의 숫자를 출력하며, 공백을 사이에 두고 이런 경우가 유일할 경우 'Yes'를 그렇지 않을 경우는 'No'를 출력한다.


[Copy]
6
Jason
Jack Jason
Joe Jack
Jill Jason
John Jack
Jim Jill
[Copy]
4 Yes


[Copy]
2
Ming
Cho Ming
[Copy]
1 No





HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.