婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python實現棋盤覆蓋問題及可視化

python實現棋盤覆蓋問題及可視化

熱門標簽:crm電銷機器人 電銷機器人 金倫通信 北京外呼電銷機器人招商 汕頭電商外呼系統供應商 400電話 申請 條件 云南地圖標注 鄭州智能外呼系統中心 南京crm外呼系統排名 賓館能在百度地圖標注嗎

問題介紹

棋盤覆蓋問題,是一種編程問題。

如何應用分治法求解棋盤覆蓋問題呢?分治的技巧在于如何劃分棋盤,使劃分后的子棋盤的大小相同,并且每個子棋盤均包含一個特殊方格,從而將原問題分解為規模較小的棋盤覆蓋問題。k>0時,可將2k×2k的棋盤劃分為4個2(k-1)×2(k-1)的子棋盤。這樣劃分后,由于原棋盤只有一個特殊方格,所以,這4個子棋盤中只有一個子棋盤包含該特殊方格,其余3個子棋盤中沒有特殊方格。為了將這3個沒有特殊方格的子棋盤轉化為特殊棋盤,以便采用遞歸方法求解,可以用一個L型骨牌覆蓋這3個較小棋盤的會合處,從而將原問題轉化為4個較小規模的棋盤覆蓋問題。遞歸地使用這種劃分策略,直至將棋盤分割為1×1的子棋盤。

問題解釋來源 百度

原網頁

效果展示

k=1

k=2

代碼實現

借助numpy處理數據,plot實現可視化。

使用面向對象的方法設計了棋盤類。

一步步將棋盤分為小區塊,指導區塊的邊長為1,退出遞歸。

import numpy as np
import matplotlib.pyplot as plt


class Board:
 def __init__(self, size, x, y):
  '''
  初始化棋盤

  :param size: 棋盤邊長
  :param x: 特殊點橫坐標
  :param y: 特殊點縱坐標
  '''
  self.special_block = (x, y)
  self.board = np.zeros((size, size), dtype=int)
  self.board[x][y] = (size * size - 1) / 3 + 1
  self.t = 1
  self.size = size

 def visualize(self):
  '''
  可視化函數

  :return: None
  '''
  plt.imshow(self.board, cmap=plt.cm.gray)
  plt.colorbar()
  plt.show()

 def fill_block(self, x, y):
  '''
  填充點(x, y)
  :param x: x
  :param y: y
  :return: None
  '''
  if self.board[x][y] == 0:
   self.board[x][y] = self.t
  else:
   raise Exception

 def fill(self, s_x, s_y, size, c_x, c_y):
  '''
  遞歸函數填充棋盤或子棋盤(下文稱區塊)

  :param s_x: 區塊左上角x
  :param s_y: 區塊左上角y
  :param size: 區塊邊長
  :param c_x: 區塊特殊點坐標x
  :param c_y: 區塊特殊點坐標x
  :return: None
  '''
  if size == 1:
   return
  pos = (round((c_x - s_x + 1) / size), round((c_y - s_y + 1) / size))
  center = (round(s_x + size / 2 - 1), round(s_y + size / 2 - 1))
  ls = [(0, 0), (0, 1), (1, 0), (1, 1)] # 代表四個子區塊
  for i in ls:
   if i != pos: # 如果不是原有特殊點所在區塊,則構造特殊點并填充
    x = center[0] + i[0]
    y = center[1] + i[1]
    self.fill_block(x, y)
  self.t += 1 # 標記號加一,標記下一骨牌
  for i in ls:
   if i != pos: # 如果不是原有特殊點所在區塊
    # 所構造特殊點位置(x, y)
    x = center[0] + i[0]
    y = center[1] + i[1]
    x1 = s_x + i[0] * (size / 2)
    y1 = s_y + i[1] * (size / 2)
    self.fill(x1, y1, size / 2, x, y)
   else: # 如果是原有特殊點所在區塊
    x1 = s_x + i[0] * (size / 2)
    y1 = s_y + i[1] * (size / 2)
    self.fill(x1, y1, size / 2, c_x, c_y)

主函數

if __name__ == '__main__':
 k = eval(input("請輸入正整數K(棋盤大小2^2k,2^2k):\n"))
 loc_x = eval(input("請輸入特殊點橫坐標:\n"))
 loc_y = eval(input("請輸入特殊點縱坐標:\n"))
 size = 2 ** (2 * k)
 b = Board(size, loc_x, loc_y)
 b.fill(0, 0, size, loc_x, loc_y)
 b.visualize()
 print(b.board)

GitHub鏈接

總結

到此這篇關于python實現棋盤覆蓋問題及可視化的文章就介紹到這了,更多相關python棋盤覆蓋問題內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python開發實時可視化儀表盤的示例
  • Python數據分析之繪圖和可視化詳解
  • Python數據可視化之繪制柱狀圖和條形圖
  • python使用Streamlit庫制作Web可視化頁面
  • python可視化hdf5文件的操作
  • Python編寫可視化界面的全過程(Python+PyCharm+PyQt)
  • 使用python實現三維圖可視化
  • python用pyecharts實現地圖數據可視化
  • 以大熱劇《覺醒年代》為例用Python繪制可視化儀表盤

標簽:文山 浙江 懷化 梅州 錫林郭勒盟 昆明 石家莊 西寧

巨人網絡通訊聲明:本文標題《python實現棋盤覆蓋問題及可視化》,本文關鍵詞  python,實現,棋盤,覆蓋,問題,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現棋盤覆蓋問題及可視化》相關的同類信息!
  • 本頁收集關于python實現棋盤覆蓋問題及可視化的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    激情综合亚洲精品| 又紧又大又爽精品一区二区| 欧美疯狂做受xxxx富婆| 久久久久高清精品| 亚洲午夜久久久久| 成人午夜短视频| 久久婷婷色综合| 经典一区二区三区| 在线成人午夜影院| 久久亚洲一级片| 日韩欧美精品三级| 色先锋资源久久综合| 国产凹凸在线观看一区二区| 国产精品一线二线三线精华| 午夜激情一区二区| 国产激情一区二区三区四区 | 美女国产一区二区三区| 北岛玲一区二区三区四区| 97久久超碰国产精品电影| 日韩一级大片在线观看| 日韩一区有码在线| 亚洲福利电影网| 国产精品美女久久久久久久网站| 亚洲欧美另类小说视频| 午夜伊人狠狠久久| 国产精品乱子久久久久| 久久精品噜噜噜成人88aⅴ | 91浏览器入口在线观看| 欧美影院一区二区| 一区二区三区资源| 狠狠色丁香久久婷婷综合丁香| 在线免费观看成人短视频| 国产尤物一区二区在线| 国产精品一品二品| 麻豆精品精品国产自在97香蕉| 国产视频一区在线观看| 亚洲成人一二三| av综合在线播放| 国产女主播一区| 91视频在线看| 欧美aa在线视频| 欧美成人乱码一区二区三区| 日韩你懂的电影在线观看| 精品在线亚洲视频| 中文字幕一区三区| 欧洲国内综合视频| 人禽交欧美网站| 欧美激情综合网| 欧美亚洲国产bt| 久久视频一区二区| 91丝袜美腿高跟国产极品老师 | 91麻豆成人久久精品二区三区| 亚洲精品一线二线三线| 亚洲成人免费看| 日韩西西人体444www| 精品午夜一区二区三区在线观看 | 国产又黄又大久久| 欧美男生操女生| 国产在线精品一区在线观看麻豆| 日韩一区二区视频| 不卡av电影在线播放| 日本一道高清亚洲日美韩| 亚洲日本韩国一区| 欧美一级高清片在线观看| 99久久免费视频.com| 亚洲夂夂婷婷色拍ww47| 中文字幕在线不卡视频| 久久免费国产精品| 成人aaaa免费全部观看| 亚洲特级片在线| 国产日韩欧美精品综合| 884aa四虎影成人精品一区| 国产精品一区二区三区四区| 美女诱惑一区二区| 精品一区二区三区的国产在线播放| 洋洋成人永久网站入口| 亚洲色图制服丝袜| 亚洲欧美成人一区二区三区| 精品国产网站在线观看| 久久久久久**毛片大全| 中文字幕国产一区| 一区二区三区免费观看| 三级一区在线视频先锋| 国产麻豆视频一区二区| 91免费版pro下载短视频| 欧美一区二区三区在线视频| 日韩女优av电影在线观看| 欧美xxxxxxxxx| 国产精品美女久久久久aⅴ| 亚洲精品成人悠悠色影视| 久久色在线观看| 亚洲小说欧美激情另类| 国产精品 日产精品 欧美精品| 99精品国产91久久久久久| 久久―日本道色综合久久| heyzo一本久久综合| 亚洲h精品动漫在线观看| 久久先锋影音av| 91精品福利视频| 一区二区三区在线视频观看58| 欧美日韩一区二区三区高清| 精品夜夜嗨av一区二区三区| 亚洲人成精品久久久久久 | 久久国产免费看| 亚洲高清视频中文字幕| 国产精品美女久久久久久2018| 欧美成人一级视频| 欧美一区二区视频在线观看 | 成人av电影在线观看| 国产成人小视频| 国产风韵犹存在线视精品| 日本aⅴ亚洲精品中文乱码| 五月天婷婷综合| 亚洲va国产va欧美va观看| 亚洲综合色视频| 国产精品乱人伦| 亚洲日本成人在线观看| 国产情人综合久久777777| 91精品国产91久久综合桃花| 色女孩综合影院| 欧美三级中文字幕| 精品日韩在线一区| 26uuu色噜噜精品一区二区| 久久网站热最新地址| 国产蜜臀97一区二区三区| 国产亚洲欧美色| 久久精品男人天堂av| 国产亚洲一二三区| 久久久亚洲综合| 亚洲免费三区一区二区| 中文文精品字幕一区二区| 亚洲欧美日韩一区二区| 一区二区三区视频在线观看| 亚洲精品一二三四区| 亚洲成人资源网| 久久国产婷婷国产香蕉| 国产一区二区精品久久| 99久久精品国产一区| 欧美在线一区二区三区| 久久久久久久免费视频了| 一级精品视频在线观看宜春院| 无吗不卡中文字幕| 97久久超碰国产精品| 日韩一区二区三区三四区视频在线观看| 欧美日韩视频在线第一区| 欧美精品一区二区三区四区| 亚洲人成伊人成综合网小说| 亚洲一区免费视频| 久久se这里有精品| 91免费在线看| 国产网站一区二区| 性做久久久久久免费观看欧美| 蜜桃视频一区二区| 色激情天天射综合网| 国产日韩影视精品| 久久精品国产成人一区二区三区| 韩国精品一区二区| 欧美日韩在线免费视频| 精品久久久久久无| 激情综合一区二区三区| 日韩一区二区在线看| 日本不卡一区二区三区 | 久久精品久久综合| 成人丝袜18视频在线观看| 欧美亚洲尤物久久| 日本不卡一二三区黄网| 日韩一区二区三区四区| 强制捆绑调教一区二区| 欧美视频一区二| 亚洲视频在线观看三级| 成人v精品蜜桃久久一区| 国产精品盗摄一区二区三区| 国产高清不卡一区二区| 亚洲女人的天堂| 欧美日韩色综合| 国产乱子轮精品视频| 日韩毛片视频在线看| 99热在这里有精品免费| 亚洲女与黑人做爰| 在线观看视频一区二区| 极品尤物av久久免费看| 国产欧美日韩中文久久| 91福利精品视频| 亚洲va韩国va欧美va精品| 国产亚洲综合av| 69精品人人人人| 色综合久久综合网| 国产曰批免费观看久久久| 亚洲成av人影院| 亚洲摸摸操操av| 国产欧美一区二区精品秋霞影院 | 日韩高清欧美激情| 一区二区三区欧美视频| 欧美国产视频在线| 日韩精品一区二| 久久精品欧美日韩精品| 精品久久久久久久久久久久包黑料 | 色综合一区二区三区| 国产精品88888| 国产91丝袜在线播放0|