之所以划到最短路这里面。。。是因为用到floyd了。。
给你一些数的关系,输出不能成为中间数的数的个数。
我的做法是,对正图,转置图进行两次floyd即可(其实一次也可以,不过反正数据不大。。)。然后算每个点那行1的个数,大于等于(n+1)/2即不可能成为中间数。
如果是中间数,那么比它大的不能超过 n/2 ,比它小的也不能超过n/2。
其实转置图可以用先遍历列再遍历行得到。。我感觉用转置图更直观哈~
之所以划到最短路这里面。。。是因为用到floyd了。。
给你一些数的关系,输出不能成为中间数的数的个数。
我的做法是,对正图,转置图进行两次floyd即可(其实一次也可以,不过反正数据不大。。)。然后算每个点那行1的个数,大于等于(n+1)/2即不可能成为中间数。
如果是中间数,那么比它大的不能超过 n/2 ,比它小的也不能超过n/2。
其实转置图可以用先遍历列再遍历行得到。。我感觉用转置图更直观哈~