解题思路:
注意事项:
参考代码:
n=int(input())
for i in range(n):
ans=8
a=list(map(int,input().split()))
b=[a[0],a[1]]
c=[a[2],a[3]]
d=[a[4],a[5]]
for i in range(len(b)):
for j in range(len(c)):
for k in range(len(d)):
if(b[i]==c[j] or b[i]==d[k] or c[j]==d[k]):#两条边相同
ans=min(ans,6)
if(b[i]==c[j]==d[k]):#三条边相同
ans=min(ans,4)
#没有上述条件
for i in range(len(b)):
for j in range(len(c)):
for k in range(len(d)):
if(b[i]==c[j]+d[k]):
if(j==1 and k==1):
if(c[0]==d[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==1):
if(c[1]==d[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==0):
if(c[1]==d[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==1 and k==0):
if(c[0]==d[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
break
for i in range(len(c)):
for j in range(len(b)):
for k in range(len(d)):
if(c[i]==b[j]+d[k]):
if(j==1 and k==1):
if(b[0]==d[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==1):
if(b[1]==d[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==0):
if(b[1]==d[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==1 and k==0):
if(b[0]==d[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
break
for i in range(len(d)):
for j in range(len(b)):
for k in range(len(c)):
if(d[i]==b[j]+c[k]):
if(j==1 and k==1):
if(b[0]==c[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==1):
if(b[1]==c[0]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==0 and k==0):
if(b[1]==c[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
elif(j==1 and k==0):
if(b[0]==c[1]):
ans=min(ans,4)
else:
ans=min(ans,6)
break
print(ans)
0.0分
8 人评分
大神老白 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题9.1 (Java代码)浏览:471 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:277 |
C语言考试练习题_排列 (C语言代码)浏览:725 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:525 |
C语言训练-求PI* (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:338 |
WU-复数求和 (C++代码)浏览:2015 |
1054题解浏览:467 |
蛇行矩阵 (C语言代码)浏览:507 |