python カードゲームで一套一套ができない最大枚数を探った

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python カードゲームで一套一套ができない最大枚数を探った相关的知识,希望对你有一定的参考价值。

import itertools
import random

def oneset(a,b,c):
    for j in range(4):
        if (a[j] + b[j] + c[j]) % 3 != 0:
            return False
    return True

def isnotset(field,card):
    if len(field) < 2: 
        return True 
    for a,b in itertools.combinations(field,2):
        if oneset(a,b,card):
            return False
    return True

def trial(cards):
    field = []
    for card in cards:
        if isnotset(field,card):
            field.append(card)
    return field

allcard = list(itertools.product((0,1,2),repeat = 4))
ans = [] 

for _ in range(1000):
    random.shuffle(allcard)
    if len(ans) < len(trial(allcard)):
        ans = trial(allcard)
print(len(ans),ans)

以上是关于python カードゲームで一套一套ができない最大枚数を探った的主要内容,如果未能解决你的问题,请参考以下文章

markdown MAMPで“お使いのサーバーのPHPではWordPressに必要なMySQL拡张を利用できないようです。”

markdown concrete5のと引导出票人でカスタムテンプレートがクリックできない

markdown git pull --recurse-submodulesで'请确保你拥有正确的访问权限'となってサブモジュールを克隆できない

csharp 标准の数値书式指定文字列とかカスタム书式とか的ToString(字符串)メソッドなどで,数値のフォーマットを指定して文字列で表现することができます。たまにしか使わないから忘れちゃうんです

csharp 【团结】シーンを跨いでもスコアなどのデータを保持することができるスクリプト。参考URL:http://goodscientist.tumblr.com/post/25617673512/

markdown 安卓でCPPありのプロジェクトをクローンしてきたらビルドできなかった