算法介绍
本题就是最简单的枚举情况,下面我来介绍一下如何枚举
情况分析三个矩阵无论怎么摆都只有4,6,8三种情况。大伙可以自己画一下图去试试看看,在这里不证明,重点是下面的枚举情况
为4的时候
只有当三个矩阵都有相同的边;或者是有两个矩阵有相同的边,这两个矩阵剩余的边的和等于第三个矩阵的边长。画图说明
6
只有两个矩阵有相同的边,不满住为4的剩余条件时,为6;仅有两个矩阵的边之和等于第三个矩阵,也是为6
8
上诉情况都不满足的时候就是8
python 代码
t=int(input())
def func4(a,b,c):
x1,x2,x3=a[0]+a[1],b[0]+b[1],c[0]+c[1]
for i in a:
for j in b:
for x in c:
if i==j==x:
return True
if i==j and x1+x2-i-j==x:
return True
elif i==x and x1+x3-i-x==j:
return True
elif j==x and x2+x3-j-x==i:
return True
return False
def func6(a,b,c):
for i in a:
for j in b:
for x in c:
if i==j or i==x or j==x:
return True
if i+j==x or i+x==j or x+j==i:
return True
return False
while t:
t-=1
f=list(map(int,input().split()))
a,b,c=f[:2],f[2:4],f[4:]
if func4(a,b,c):
print(4)
continue
if func6(a,b,c):
print(6)
continue
print(8)