题目大意
n(<= 100)头牛, m(m <= 4500 )种关系, 每种关系 u, v代表 u能赢v。问最终能确定多少头牛的排名。
分析
用最短路的松弛操作, 确定出每两头牛的关系, 对于第i个牛, 如果和其他i - 1个牛都能确定胜负, 就能确定这头牛的排名。
建图, 如果u能赢v, 那么ma[u][v] = 1
, 否则就ma[u][v] = -1
, 用floyd松弛的时候, 如果i能赢(输)k 并且k能赢(输)j, 那么i就能赢(输)j 。
代码
|
|
恰似你一低头的温柔,较弱水莲花不胜寒风的娇羞, 我的心为你悸动不休。 --mingfuyan
千万不要图快——如果没有足够的时间用来实践, 那么学得快, 忘得也快。