无标题文章

def v2(a2,a5):

    if (a5 == 'C') and a2=='A':

            return True

    elif (a5 == 'D') and a2=='B':

            return True

    elif (a5 == 'A') and a2=='C':

            return True

    elif (a5 == 'B') and a2=='D':

            return True

    else:     

            return False


def v3(a,a3,a6,a2,a4):


    if a=='A':

            return (a3!=a6) and (a3!=a2) and (a3!=a4) 

    elif a=='B':

            return (a6!=a3) and (a6!=a2) and (a6!=a4) 

    elif a=='C':

            return (a2!=a3) and (a2!=a6) and (a2!=a4) 

    else: #'D'

            return (a4!=a3) and (a4!=a6) and (a4!=a2)

def v4(a,a1,a5,a2,a7,a9,a6,a10):

        if a == 'A':

            return a1 == a5

        elif a == 'B':   

            return a2 == a7

        elif a == 'C':   

            return a1 == a9

        else:# answer = 'D':

            return a6 == a10       

def v5(a,a8,a4,a9,a7):

        if a == 'A':

            return a == a8

        elif a == 'B':

            return a == a4

        elif a == 'C':

            return a == a9

        else : #answer == 'D':

            return a == a7 


def v6(a,a8,a2,a4,a1,a6,a3,a10,a5,a9):

        if a == 'A':

            return a8 == a2 and a8 == a4

        elif a == 'B':

            return a8 == a1 and a8 == a6

        elif a == 'C':

            return a8 == a3 and a8 == a10

        else : #answer == 'D':

            return a8 == a5 and a8 == a9

def v7min(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):

    stats = [0,0,0,0]

    for i in [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10]:

        stats[ int(i,16)-0xA ]+=1


    index = stats.index(min(stats))

    return ['A','B','C','D'][index]


def v7(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):

    minA = v7min(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)

    if a7 == 'A':

        return minA =='C'

    elif a7 == 'B':

        return minA == 'B'

    elif a7 == 'C':

        return minA == 'A'

    else : #answer == 'D':

        return minA == 'D'




def v8(a8,a1,a7,a5,a2,a10):

    answer1 = int(a1,16)


    if a8 == 'A':

        return abs(int(a7,16)-answer1)!=1

    elif a8 == 'B':

        return abs(int(a5,16)-answer1)!=1

    elif a8 == 'C':

        return abs(int(a2,16)-answer1)!=1

    else : #answer == 'D':

        return abs(int(a10,16)-answer1)!=1



def v9(a9,a6,a5,a10,a2,a1):

        if a9 == 'A':

            valY =  (a6 ==a5)

        elif a9 == 'B':

            valY =  (a10 ==a5)

        elif a9 == 'C':

            valY =  (a2 ==a5)

        else : #answer == 'D':

            valY =  (a9 ==a5)


        valX= (a1 ==a6) 

        return valX!=valY 



def calDiff(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):

    stats = [0,0,0,0]

    for i in [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10]:

        stats[ int(i,16)-0xA ]+=1


    maxV = max(stats)

    minV = min(stats)

    return maxV-minV   


def v10(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):

        count = calDiff(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)


        if a10 == 'A':

            return count == 3

        elif a10 == 'B':

            return count==2

        elif a10 == 'C':

            return count == 4

        else : #answer == 'D':

            return count == 1



def verify(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):


    #skip 1 always true


    #question 2

    if v2(a2,a5) == False:

        return False


    if v3(a3,a3,a6,a2,a4) == False:

        return False


    if v4(a4,a1,a5,a2,a7,a9,a6,a10) == False:

        return False


    if v5(a5,a8,a4,a9,a7) == False:

        return False


    if v6(a6,a8,a2,a4,a1,a6,a3,a10,a5,a9) == False :

        return False

    if v7(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) == False:

        return False


    if v8(a8,a1,a7,a5,a2,a10) == False:

        return False


    if v9(a9,a6,a5,a10,a2,a1) == False:

        return False


    if v10(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) == False:

        return False


    return True

for a1 in ['A','B','C','D']:

    for a2 in ['A','B','C','D']:

        for a3 in ['A','B','C','D']:

            for a4 in ['A','B','C','D']:

                for a5 in ['A','B','C','D']:

                    for a6 in ['A','B','C','D']:

                        for a7 in ['A','B','C','D']:

                            for a8 in ['A','B','C','D']:

                                for a9 in ['A','B','C','D']:

                                    for a10 in ['A','B','C','D']:

                                        if verify(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) :

                                              print(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容