这题主要是传递闭包 题意: n头牛,m次测试,假设a牛赢过b牛,那么说明a牛的能力比b牛强,问你根据输入的m次测试结果,最多能确定多少条牛的排名 大题的思路: 对于 k 牛,比他强的有x头牛,比他弱的有y头牛,只要x+y == n-1,那么x的排名就能确定 也就是求任意两头牛之间能否到达 每次测试都能加入一条新的边,用floyd求任意两点间能否抵达 最后根据比他强和比他弱的个数求和等于n-1说明这头牛能确定排名 ...... 有点小细节:这个题假设a牛能胜过b牛,代表的是能力值高低,我们也是只要…