zgjja


私信TA

用户名:zgjja

访问量:11994

签 名:

X_X

等  级
排  名 147
经  验 7306
参赛次数 0
文章发表 71
年  龄 0
在职情况 学生
学  校
专  业 X_X

  自我简介:

解题思路:

注意事项:
    得到结果以后需要先排序再输出即可
参考代码:

from itertools import permutations

switch = [[0, 1, 0, 1, 0, 0, 0, 0, 0],
          [1, 0, 1, 0, 1, 0, 0, 0, 0],
          [0, 1, 0, 0, 0, 1, 0, 0, 0],
          [1, 0, 0, 0, 1, 0, 1, 0, 0],
          [0, 1, 0, 1, 0, 1, 0, 1, 0],
          [0, 0, 1, 0, 1, 0, 0, 0, 1],
          [0, 0, 0, 1, 0, 0, 0, 1, 0],
          [0, 0, 0, 0, 1, 0, 1, 0, 1],
          [0, 0, 0, 0, 0, 1, 0, 1, 0]]
choices = set()
all_ = []
for i in range(1, 10):
    temp = [1 for _ in range(i)] + [0 for _ in range(9 - i)]
    choices.update(permutations(temp))

for choice in choices:
    lights = [0 for _ in range(9)]
    # nine switches
    for i in range(9):
        if choice[i]:
            lights = list(map(lambda x, y: x ^ y, switch[i], lights))
    if sum(lights) == 4:
        all_.append("".join(map(str, choice)))
all_.sort()
print(*all_, sep='\n')


 

0.0分

0 人评分

  评论区

  • «
  • »