<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      棋盤覆蓋問題可視化動圖——python

      #### 棋盤覆蓋問題可視化動圖——python

      棋盤覆蓋問題是一個經(jīng)典的分治法解決的問題,具體內(nèi)容可以參照以下博主的解析

      棋盤覆蓋算法解析

      為了更好的理解該算法分治的過程

      利用了python中的matplotlib庫進(jìn)行了該算法的可視化

      avatar

      具體動畫可復(fù)制代碼在本地運(yùn)行查看

      import matplotlib.pyplot as plt 
      import numpy as np 
      
      count=0
      color=['yellow','green','blue','red','purple'] #顏色數(shù)組
      
      
      def fill(x,y,t):
      
          xx=np.linspace(x,x+1,10)
          yy=np.linspace(y,y,10)
          yy1=np.linspace(y+1,y+1,10)
          plt.fill_between(xx,yy,yy1,facecolor=color[t%(len(color))]) #填充
          plt.text(x+0.5,y+0.5,t) #添加文字
          plt.pause(1) #動態(tài)畫圖 參數(shù)為變化的時間
          pass 
      
      
      def ChessBoard(tr,tc,dr,dc,size):
          if size==1:  #算法實(shí)現(xiàn)
              return 
          global count
          global Board 
          count+=1
          t=count
          s=size//2
          if dr<tr+s and dc<tc+s:
              ChessBoard(tr,tc,dr,dc,s)
          else:
              Board[tr+s-1][tc+s-1]=t
              fill(tr+s-1,tc+s-1,t)
              ChessBoard(tr,tc,tr+s-1,tc+s-1,s)
          
          if dr<tr+s and dc>=tc+s:
              ChessBoard(tr,tc+s,dr,dc,s)
          else:
              Board[tr+s-1][tc+s]=t
              fill(tr+s-1,tc+s,t)
              ChessBoard(tr,tc+s,tr+s-1,tc+s,s)
      
          if dr>=tr+s and dc<tc+s:
              ChessBoard(tr+s,tc,dr,dc,s)
          else:
              Board[tr+s][tc+s-1]=t
              fill(tr+s,tc+s-1,t)
              ChessBoard(tr+s,tc,tr+s,tc+s-1,s)
      
          if dr>=tr+s and dc>=tc+s:
              ChessBoard(tr+s,tc+s,dr,dc,s)
          else:
              Board[tr+s][tc+s]=t
              fill(tr+s,tc+s,t)
              ChessBoard(tr+s,tc+s,tr+s,tc+s,s)
      
      def pre():
          x=2**n
          y=2**n
          xx=np.linspace(x,x+1,10)
          yy=np.linspace(y,y,10)
          yy1=np.linspace(y+1,y+1,10)
          plt.fill_between(xx,yy,yy1,facecolor='white') 
          plt.pause(1)
          pass 
      
      n=int(input())
      Board=[[0 for i in range(2**n)] for j in range(2**n)]
      x,y=map(int,input().split())
      pre() #圖像預(yù)處理
      Board[x][y]=-1
      ChessBoard(0,0,x,y,2**n)
      for i in range(2**n):
          for j in range(2**n):
              print(Board[i][j],end=' ')
          print()
      
      plt.show()
      # n為正方形的階數(shù) x y為方格點(diǎn)的坐標(biāo)
      
      posted @ 2020-11-09 18:07  bean_boom  閱讀(1037)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 午夜欧美精品久久久久久久| 神马视频| 少妇被日自拍黄色三级网络| 日韩人妻少妇一区二区三区| 日本三级香港三级三级人妇久 | 中文文精品字幕一区二区| 欧美xxxx做受欧美.88| 国产午夜福利在线视频| 亚洲av午夜福利精品一区二区| 人人超碰人摸人爱| 亚洲综合无码日韩国产加勒比| 日韩av无码中文无码电影| 一区二区在线观看 激情| 中江县| 九九热在线精品视频首页| 亚洲午夜成人精品电影在线观看 | 亚洲人成网站77777在线观看| 欧美视频二区欧美影视| 亚洲人成电影在线天堂色| 久久一日本综合色鬼综合色| 国产成人一区二区不卡| 人成午夜大片免费视频77777| 国产精品国产高清国产一区| 精品国产一区二区在线视| 亚洲天堂伊人久久a成人| 欧美精品一区二区三区中文字幕| 成在人线AV无码免观看| 国产台湾黄色av一区二区| 日韩A人毛片精品无人区乱码| AV无码免费不卡在线观看| 亚洲一区av在线观看| 国产成人精品久久一区二区| 亚洲欧洲日产国无高清码图片| 久久99国产精品尤物| 国产偷国产偷亚洲高清日韩| 国产成人啪精品午夜网站| 欧美不卡无线在线一二三区观| 成人亚洲一级午夜激情网| 内射干少妇亚洲69XXX| 潘金莲高清dvd碟片| 国产成人综合亚洲精品国产|