校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python實現(xiàn)棋盤覆蓋問題及可視化

python實現(xiàn)棋盤覆蓋問題及可視化

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

問題介紹

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

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

問題解釋來源 百度

原網(wǎng)頁

效果展示

k=1

k=2

代碼實現(xiàn)

借助numpy處理數(shù)據(jù),plot實現(xiàn)可視化。

使用面向?qū)ο蟮姆椒ㄔO計了棋盤類。

一步步將棋盤分為小區(qū)塊,指導區(qū)塊的邊長為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):
  '''
  可視化函數(shù)

  :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):
  '''
  遞歸函數(shù)填充棋盤或子棋盤(下文稱區(qū)塊)

  :param s_x: 區(qū)塊左上角x
  :param s_y: 區(qū)塊左上角y
  :param size: 區(qū)塊邊長
  :param c_x: 區(qū)塊特殊點坐標x
  :param c_y: 區(qū)塊特殊點坐標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)] # 代表四個子區(qū)塊
  for i in ls:
   if i != pos: # 如果不是原有特殊點所在區(qū)塊,則構造特殊點并填充
    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: # 如果不是原有特殊點所在區(qū)塊
    # 所構造特殊點位置(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: # 如果是原有特殊點所在區(qū)塊
    x1 = s_x + i[0] * (size / 2)
    y1 = s_y + i[1] * (size / 2)
    self.fill(x1, y1, size / 2, c_x, c_y)

主函數(shù)

if __name__ == '__main__':
 k = eval(input("請輸入正整數(shù)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實現(xiàn)棋盤覆蓋問題及可視化的文章就介紹到這了,更多相關python棋盤覆蓋問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

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

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

巨人網(wǎng)絡通訊聲明:本文標題《python實現(xiàn)棋盤覆蓋問題及可視化》,本文關鍵詞  python,實現(xiàn),棋盤,覆蓋,問題,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現(xiàn)棋盤覆蓋問題及可視化》相關的同類信息!
  • 本頁收集關于python實現(xiàn)棋盤覆蓋問題及可視化的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美色图一区二区三区| 尤物视频一区二区| xfplay精品久久| 日韩免费性生活视频播放| 91精品国产色综合久久ai换脸| 91小视频免费观看| 一本久久综合亚洲鲁鲁五月天| 成人av在线资源| av亚洲精华国产精华精| 99久久精品一区| 色老头久久综合| 欧美性猛片xxxx免费看久爱| 欧美性大战久久久久久久蜜臀 | 91麻豆精品在线观看| 成人动漫视频在线| 91免费国产视频网站| 91国偷自产一区二区三区成为亚洲经典| 一本大道av一区二区在线播放| 一本色道久久综合亚洲精品按摩| 91免费视频网| 欧美日韩国产电影| 欧美成人video| 国产欧美精品区一区二区三区| 国产精品美女久久久久久久网站| 中文字幕一区二区三区视频| 亚洲精品菠萝久久久久久久| 午夜av一区二区三区| 黑人巨大精品欧美黑白配亚洲| 国产91精品一区二区麻豆网站| 91亚洲精品久久久蜜桃| 欧美日本不卡视频| 精品久久久影院| 国产精品久久久久久久久免费丝袜| 亚洲欧美日本在线| 首页国产丝袜综合| 国产一区二区三区香蕉 | 日韩欧美一级二级三级| 久久久久久麻豆| 一区二区三区中文字幕电影 | 黄页网站大全一区二区| 高清国产一区二区| 欧美性淫爽ww久久久久无| 精品欧美一区二区在线观看 | 国产suv精品一区二区6| 91九色02白丝porn| 精品日韩一区二区| 亚洲男同1069视频| 奇米色777欧美一区二区| 成人午夜免费av| 欧美日韩国产综合一区二区| 国产亚洲欧美一级| 亚洲国产精品嫩草影院| 国产精品一卡二卡在线观看| 欧美在线高清视频| 久久伊人中文字幕| 亚洲五码中文字幕| 国产91丝袜在线18| 91精品国产色综合久久ai换脸 | 香蕉久久一区二区不卡无毒影院| 狠狠色狠狠色综合日日91app| 91在线云播放| 精品少妇一区二区三区视频免付费| 亚洲欧美区自拍先锋| 国产一区视频在线看| 欧美日韩一区三区四区| 国产日韩高清在线| 免费成人在线网站| 日本精品一区二区三区四区的功能| 精品久久国产老人久久综合| 一区二区欧美国产| 粉嫩嫩av羞羞动漫久久久 | 亚洲成人免费av| 成人高清在线视频| 精品日韩在线一区| 日日夜夜精品视频天天综合网| 成人v精品蜜桃久久一区| 欧美成人乱码一区二区三区| 亚洲综合色婷婷| 成人h动漫精品一区二区| 精品伦理精品一区| 午夜精品久久久久久久99水蜜桃| 99久久99久久精品免费观看| 久久精品免费在线观看| 美腿丝袜亚洲三区| 欧美精品一二三| 亚洲无线码一区二区三区| 99精品久久久久久| 欧美激情中文不卡| 国产成人av资源| 精品国产乱码久久久久久1区2区| 性欧美疯狂xxxxbbbb| 欧日韩精品视频| 亚洲精品网站在线观看| 97久久超碰国产精品| 欧美高清在线一区| 成人免费黄色在线| 日本一区二区三区视频视频| 国产成人精品综合在线观看| 精品国产免费人成电影在线观看四季 | 欧美美女喷水视频| 亚洲国产日韩一级| 欧美性xxxxxx少妇| 午夜精品久久久久久久久久久| 欧美性色欧美a在线播放| 亚洲国产视频在线| 欧美撒尿777hd撒尿| 亚洲国产成人91porn| 欧美日韩一区三区| 日韩精品亚洲一区| 日韩一区二区三区四区五区六区| 偷窥国产亚洲免费视频| 91精品综合久久久久久| 免播放器亚洲一区| 欧美大度的电影原声| 激情五月激情综合网| 久久综合色播五月| 国产成人高清在线| 综合在线观看色| 欧美色图天堂网| 奇米精品一区二区三区四区 | 精品粉嫩超白一线天av| 国产一区二区三区免费播放| 中文字幕的久久| 色一区在线观看| 日韩精品一级中文字幕精品视频免费观看 | 99精品桃花视频在线观看| 亚洲精品久久嫩草网站秘色| 欧美丝袜自拍制服另类| 美女精品一区二区| 久久―日本道色综合久久| 成人午夜在线播放| 综合激情网...| 欧美剧情片在线观看| 精品一区二区免费视频| 欧美激情综合网| 欧洲另类一二三四区| 看电视剧不卡顿的网站| 国产精品理伦片| 欧美色综合网站| 国内成+人亚洲+欧美+综合在线 | 国产精品18久久久| 亚洲精品高清在线观看| 日韩欧美你懂的| 风间由美一区二区av101| 亚洲永久精品大片| 久久综合色8888| 欧亚洲嫩模精品一区三区| 激情六月婷婷综合| 一区二区三区四区亚洲| 日韩欧美一区二区久久婷婷| 高清国产一区二区三区| 亚洲va欧美va天堂v国产综合| 久久婷婷久久一区二区三区| 91成人在线精品| 国产美女视频91| 亚洲高清视频中文字幕| 久久久综合精品| 欧美性videosxxxxx| 国产91色综合久久免费分享| 日韩精品一二三四| ...av二区三区久久精品| 日韩欧美在线1卡| 99亚偷拍自图区亚洲| 免费成人美女在线观看.| 亚洲乱码一区二区三区在线观看| 欧美一卡二卡三卡四卡| 一本大道综合伊人精品热热| 精品一区二区三区影院在线午夜| 亚洲精品欧美二区三区中文字幕| 久久综合99re88久久爱| 欧美日韩精品一区二区三区| 成人激情午夜影院| 久久精品国产99久久6| 一区二区三区欧美久久| 国产欧美精品一区二区色综合朱莉| 欧美日韩中字一区| 91免费视频网址| 国产成人精品www牛牛影视| 日韩av一区二区三区四区| 一区二区三区四区精品在线视频| 国产日韩欧美精品在线| 精品福利av导航| 欧美一级二级在线观看| 欧美丝袜自拍制服另类| 91麻豆精东视频| 成人美女视频在线观看| 韩国一区二区视频| 久色婷婷小香蕉久久| 日本不卡一区二区| 亚洲18女电影在线观看| 亚洲精品一卡二卡| 亚洲猫色日本管| 中文字幕一区二区三区蜜月| 国产欧美日韩三区| 久久影院视频免费| 久久综合国产精品| 久久亚洲一区二区三区四区| 欧美精品一区二区三区久久久| 欧美精品vⅰdeose4hd| 欧美精品亚洲二区|