蓝桥杯 矩形拼接
题目位置
让我想起了2019四川省赛的一道题。
如果三个矩形中有两个矩形各有一条边相等,则至少6条边;若3个矩形都有一条边相等,则至少4条边。
如果有一个矩形的一条边是另外两个矩形的某条边之和,则至少6条边;若再次基础上,另外两个矩形的另外一条边相等,则至少4条边
用全排列+循环,反正枚举所有边的情况
from itertools import permutations
def main():
n = int(input())
for t in range(n):
a = [[0 for i in range(2)] for j in range(3)]
line = input().split()
for i in range(3):
a[i][0], a[i][1] = int(line[i * 2]), int(line[i * 2 + 1])
p = permutations(a)
flag4, flag6 = False, False
for a in p:
for i1 in range(2):
a[0][0], a[0][1] = a[0][1], a[0][0]
for i2 in range(2):
a[1][0], a[1][1] = a[1][1], a[1][0]
for i3 in range(2):
a[2][0], a[2][1] = a[2][1], a[2][0]
if a[0][0] == a[1][0]:
flag6 = True
if a[0][0] == a[2][0]:
flag4 = True
if a[0][0] == a[1][0] + a[2][0]:
if a[1][1] == a[2][1]:
flag4 = True
else:
flag6 = True
if flag4:
print(4)
elif flag6:
print(6)
else:
print(8)
if __name__ == '__main__':
main()