Flip Game

Run Settings
LanguagePython
Language Version
Run Command
def lights(dim): varargs = [] constraints = [] for i in range(1, dim + 1): for j in range(1, dim + 1): variable = "x_%s_%s" % (i, j) varargs.append(variable) elems = [variable] if i > 1: elems.append("x_%s_%s" % (i - 1, j)) if i < dim: elems.append("x_%s_%s" % (i + 1, j)) if j > 1: elems.append("x_%s_%s" % (i, j - 1)) if j < dim: elems.append("x_%s_%s" % (i, j + 1)) addition = " + ".join(elems) constraints.append("(" + addition + ") % 2 == 1") varargsexp = ", ".join(varargs) forexp = " ".join(map(lambda arg: "for %s in (0, 1)" % (arg), varargs)) constraint = " and ".join(constraints) expression = "[[%s] %s if %s]" % (varargsexp, forexp, constraint) print(expression) return eval(expression) solutions = lights(4) print("%s solutions" % (len(solutions,))) for k, solution in enumerate(solutions): print("solution %s----------------------------\n" % (k + 1)) dim = round(len(solution) ** 0.5) for i, status in enumerate(solution): print("◆" if status == 1 else '◇', end = " ") if (i + 1) % dim == 0: print("\n")
Editor Settings
Theme
Key bindings
Full width
Lines