题目
链接
分析
真是疯了
一个10分的题我毫无头绪
原来用的是暴力手段+找规律
这题矩阵总共只有3个,而且每个矩阵只有长和宽两个数据,外加这题的时间限制为1s,种种迹象表明这题是可以直接暴力的
三个矩阵总共只可能摆出3种不同的结果,4,6和8
4比较好说,两种情况(见代码)
如果不是4,那就看是不是6,也有两种情况(见代码)
最后就全是8
这题的关键写点在于这种计算剩余矩形两边和的办法非常地巧妙
以及三个for循环表示了所有比较的可能,这个逻辑要理清
但是为什么轮训检测超时啊我说/o(╥﹏╥)o
代码
def cnt4():for i in [a, b]:for j in [c, d]:for k in [e, f]:# 三个矩形有一条边是一样长的if i == j == k:return 1# 两个矩形有一条是一样长的,且这两个矩形的另外一条边的和等于第三矩形中的一条边if i == j and a + b - i + c + d - j == k:return 1if i == k and a + b - i + e + f - k == j:return 1if j == k and c + d - j + e + f - k == i:return 1return 0def cnt6():for i in [a, b]:for j in [c, d]:for k in [e, f]:# 两个矩形一条边相等(此时已经排除了4的情况)if i == j or i == k or j == k:return 1# 两个矩形的两条边和正好等于第三条边if i + j == k or i + k == j or j + k == i:return 1return 0T = int(input())
for t in range(T):a, b, c, d, e, f = map(int, input().split())if cnt4():print(4)elif cnt6():print(6)else:print(8)