暴力解2018刑侦题python版
1 # 1-->a 2-->b 3-->c 4-->d a[1]-->question1 2 3 a=[None]*11 #11是为了下标方便些,要不逻辑描述的时候容易出错 4 sum=[None]*4 5 6 for i in range(4**10): #定义循环次数 7 for j in range(1,11): #定义每个问题的答案 8 a[j]=int(i%(4**j)/(4**(j-1)))+1 9 for k in range(4): #计算每个选项的个数 10 sum[k]=a.count(k+1) 11 #开始逻辑运算 12 if( 13 (a[2]==1 and a[5]==3 or 14 a[2]==2 and a[5]==4 or 15 a[2]==3 and a[5]==1 or 16 a[2]==4 and a[5]==2) 17 and (a[3]==1 and a[3]!=a[6] and a[3]!=a[2] and a[3]!=a[4] or 18 a[3]==2 and a[6]!=a[3] and a[6]!=a[2] and a[6]!=a[4] or 19 a[3]==3 and a[2]!=a[3] and a[2]!=a[6] and a[2]!=a[4] or 20 a[3]==4 and a[4]!=a[3] and a[4]!=a[6] and a[4]!=a[2]) 21 and (a[4]==1 and a[1]==a[5] and a[2]!=a[7] and a[1]!=a[9] and a[6]!=a[10] or 22 a[4]==2 and a[2]==a[7] and a[1]!=a[5] and a[1]!=a[9] and a[6]!=a[10] or 23 a[4]==3 and a[1]==a[9] and a[1]!=a[5] and a[2]!=a[7] and a[6]!=a[10] or 24 a[4]==4 and a[6]==a[10] and a[1]!=a[5] and a[1]!=a[9] and a[2]!=a[7]) 25 and (a[5]==1 and a[8]==1 or 26 a[5]==2 and a[4]==2 or 27 a[5]==3 and a[9]==3 or 28 a[5]==4 and a[7]==4) 29 and (a[6]==1 and a[8]==a[4] and a[8]==a[2] or 30 a[6]==2 and a[8]==a[1] and a[8]==a[6] or 31 a[6]==3 and a[8]==a[3] and a[8]==a[10] or 32 a[6]==4 and a[8]==a[5] and a[8]==a[9]) 33 and (a[7]==1 and sum.index(min(sum))+1==3 or 34 a[7]==2 and sum.index(min(sum))+1==2 or 35 a[7]==3 and sum.index(min(sum))+1==1 or 36 a[7]==4 and sum.index(min(sum))+1==4) 37 and (a[8]==1 and abs(a[7]-a[1])!=1 or 38 a[8]==2 and abs(a[5]-a[1])!=1 or 39 a[8]==3 and abs(a[2]-a[1])!=1 or 40 a[8]==4 and abs(a[10]-a[1])!=1) 41 and (a[9]==1 and (a[1]==a[6])!=(a[6]==a[5]) or 42 a[9]==2 and (a[1]==a[6])!=(a[10]==a[5]) or 43 a[9]==3 and (a[1]==a[6])!=(a[2]==a[5]) or 44 a[9]==2 and (a[1]==a[6])!=(a[9]==a[5])) 45 and (a[10]==1 and max(sum)-min(sum)==3 or 46 a[10]==2 and max(sum)-min(sum)==2 or 47 a[10]==3 and max(sum)-min(sum)==4 or 48 a[10]==4 and max(sum)-min(sum)==1) 49 50 ): 51 for i in a[1:]: 52 print(chr(ord('a')+i-1),end='') 53 print('\n')
posted on 2018-03-08 13:13 撞钟和尚cokeor 阅读(208) 评论(0) 编辑 收藏 举报