第二题 - TOURNAMENT RESULT
题目跳转:比赛结果。
第二题也是一道纯暴力的模拟题目,双层 for 循环依照题目题干的要求判断点 (i,j)(i, j)(i,j) 和点 (j,i)(j, i)(j,i) 所存的值是否存在冲突就行了。这边我用了一个 check 函数来检查是否存在冲突。如果存在冲突直接返回结果即可。
这边判断冲突的 check 函数我觉得值得讲一下,分类讨论:
1. 如果双方胜负状态相同且不是平局,则返回 false。
2. 如果一方是平局二另一方不是平局,则返回 false。
3. 可以证明其余的情况一定是合法的,直接返回 true 即可,不需要跟其他题解一样大费周章来写条件分支语句。
代码时间复杂度:O(N2)O(N^2)O(N2)。
本题的 AC 代码如下: