Codeforces 116C Party
这道题的意思是,一个公司,有 n 个人。每个人都满足以下两种情况中的一种:没有人直接管理他,或者有且仅有一个人管理他。
对于任意两个人,记为 A 和 B, 我们称 A 是 B 的上司,当且仅当满足下面条件中的一个:
- A 直接管理 B;
- A 是 C 的上司,C 直接管理 B.
公司里不可能会有一个“管理圈”,就是说,不会存在 A 是 B 的上司,且 B 是 A 的直接管理者这样的情况。
现在有一个 party, 然后要把这群人分成几组,要求每个人不能和他的上司分在同一组中。
问最少需要几组。
原题地址:http://codeforces.com/problemset/problem/116/C
其实这道题是一个森林模型,答案就是森林中最高的树的高度。
输入数据第一行是这个公司有几个人,从第二行开始每行一个数,这个数表示这个人的直接管理者是谁。例如:
5 -1 1 2 1 -1
输出最少需要分几组,例如上面输入的答案是:
3
原创文章,转载请注明来源:http://euyuil.com/2690/codeforces-116c-party/
