解题思路:
注意事项:
参考代码:
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语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题9.1 (Java代码)浏览:481 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:696 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:909 |
WU-整除问题 (C++代码)浏览:648 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:913 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1100 |
1118(求助_已解决)浏览:351 |