做NP:找到最大的集团
背景 在撰写本文时,P与NP的问题仍未解决,但是您可能已经听说过Norbert Blum的新论文,声称P!= NP已被证明是错误的(但我们将会看到)。 本文讨论的问题是集团问题。至少这是我在报纸上读到的,如果我错了,请更正我,但是无论如何,我希望您编写一个解决以下变体的程序: 任务 假设我们有一所大学校,有很多学生。每个学生在这所学校都有一些朋友。一个集团的学生是仅由学生谁是朋友与一组的每个其他成员。 您的程序将接收成对的朋友,作为他们的输入。从这些信息中,程序必须找到最大的集团的规模。学生用整数ID标识。 如果您更喜欢数学术语,这意味着您将获得一个无向图的边缘,该边缘分别由两个节点标识。 输入项 您的输入将是一个正整数对的非空列表,例如[[1,2],[2,5],[1,5]]。您可以采用任何明智的形式来输入此输入,例如,作为数组的数组,作为文本行,每个文本行包含两个数字,等等... 输出量 预期的输出是一个数字n >= 2:最大集团的规模。与上面的例子中的输入,其结果将是3,因为所有的学生(1,2和5)是朋友彼此。 测试用例 [[1,2]] => 2 [[1,2],[3,1],[3,4]] => 2 [[1,2],[2,5],[1,5]] => 3 [[2,5],[2,3],[4,17],[1,3],[7,13],[5,3],[4,3],[4,1],[1,5],[5,4]] => 4 (the largest clique is [1,3,4,5]) [[15,1073],[23,764],[23,1073],[12,47],[47,15],[1073,764]] => 3 (the largest clique is [23,764,1073]) [[1296,316],[1650,316],[1296,1650],[1296,52],[1650,711],[711,316],[1650,52], [52,711],[1296,711],[52,316],[52,1565],[1565,1296],[1565,316],[1650,1565], [1296,138],[1565,138],[1565,711],[138,1650],[711,138],[138,144],[144,1860], [1296,1860],[1860,52],[711,1639]] => 6 (the largest clique …