日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

問題:有一個5X6的燈矩陣,燈按一下就亮,再按一下就熄滅?,F在有這樣一種情況,在這個矩陣中任意按下一盞燈它本身以及它的上、下、左、右四個位置的燈的狀態也會隨之改變。

例如:紅色表示燈亮,白色表示燈熄滅。假設在開始時,所有的燈都是亮的,當我們按下(1,1)位置的燈,燈的狀態會發生如下圖變化;當我們又按下(2,5)位置的燈后,它附近的會發生如下圖的變化。

Python算法之熄燈問題

 

代碼:

import numpy as np

line = [[0] * 6] * 5

for i in range(5):
    line[i] = input('請輸入第' + str(i) + '行:').split(',')
    # 將line中的元素轉為整型
    line[i] = list(map(int, line[i]))

puzzle = np.array(line)

zero = np.zeros(6)
# 在puzzle的最上面加入一行0
puzzle = np.insert(puzzle, 0, values=zero, axis=0)

# 在puzzle的最后一列加入一列0
puzzle = np.insert(puzzle, 6, values=zero, axis=1)

# 在puzzle的第0列加入一行0
puzzle = np.insert(puzzle, 0, values=zero, axis=1)

b = [[0 for col in range(8)] for row in range(6)]
press = np.array(b)


def guess():
    for r in range(1, 5):
        for c in range(1, 7):
            press[r + 1][c] = (puzzle[r][c] + press[r][c] + press[r - 1][c] +
                               press[r][c - 1] + press[r][c + 1]) % 2
    for c in range(1, 7):
        if (press[5][c - 1] + puzzle[5][c] + press[5][c + 1] + press[4][c]) % 2 != puzzle[5][c]:
            return 0
    return 1


def enumeration():
    while guess() == 0:
        press[1][1] += 1
        c = 1
        while (press[1][c] > 1):
            press[1][c] = 0
            c += 1
            press[1][c] += 1
        continue


enumeration()
print("燈的初始狀態:n", puzzle[1:6, 1:7])
print("按下結果為:n", puzzle[1:6, 1:7])

運行結果:

請輸入第0行:1,1,0,0,1,1
請輸入第1行:0,1,0,0,1,0
請輸入第2行:1,1,1,0,0,0
請輸入第3行:1,0,1,1,0,1
請輸入第4行:0,0,0,1,1,1
燈的初始狀態:
 [[1 1 0 0 1 1]
 [0 1 0 0 1 0]
 [1 1 1 0 0 0]
 [1 0 1 1 0 1]
 [0 0 0 1 1 1]]
按下結果為:
 [[1 1 0 0 1 1]
 [0 1 0 0 1 0]
 [1 1 1 0 0 0]
 [1 0 1 1 0 1]
 [0 0 0 1 1 1]]

分享到:
標簽:算法 Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定