一个人可以拥有的仇恨人数

时间:2017-11-26 16:50:39

标签: algorithm data-structures graph

派对上有n个人。每个人的编号为0 - n-1。每个人都可能有仇恨。如果任何条件成立,则X人讨厌Y: -

  • X是Y
  • 的直接仇恨者
  • Z讨厌Y和X讨厌Z所以X间接讨厌Y

每个人只能有1个直接仇恨,没有2个人会互相仇恨。 给定一个数组Arr,其中Arr [i]是对我的直接仇恨。 -1表示该人没有直接仇恨。 找出群组的数量,以便没有人在群组中有直接或间接的仇恨。

示例:

  • [ - 1,0,1] - 输出3 - 组{0},{1},{2}
  • [1,-1,3,-1] - 输出2 - 组{0,2},{1,3}

这个问题似乎与找到连接组件的数量有关,但我无法弄明白。

0 个答案:

没有答案