<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標(biāo)題:有高手能把JAVA語言的Triomino問題改寫成C語言嗎?

    1樓
    wangxinxin 發(fā)表于:2010-12-11 9:27:09
    這是網(wǎng)上搜的java程序-   -!
      Triomino問題,即用一個L形的瓦片(有三個小正方形組成)覆蓋一個缺少了一個方塊(可以是棋盤上的   任何位置)的2^n   X   2^n棋盤  
    Triomino問題的動態(tài)演示程序。
    源代碼:
    用分治法解triomino問題
      public   void   trio(int   x,   int   y,   int   cStart,   int   cEnd,   int   rStart,   int   rEnd)
      {
        if(cEnd   -   cStart   >   1)
        {
          if(x> =cStart   &&   x <=(cEnd+cStart)/2   &&   y> =rStart   &&   y <=(rEnd+rStart)/2)
          {
            trio(x,   y,   cStart,   (cEnd+cStart)/2,   rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   (cEnd+cStart)/2+1,   cEnd,  
              rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   (cEnd+cStart)/2+1,   cEnd,  
              (rEnd+rStart)/2+1,     rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   cStart,   (cEnd+cStart)/2,  
              (rEnd+rStart)/2+1,     rEnd);
            /*fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.black);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.black);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   Color.black);*/
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   3;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   3;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   3;
            pause();
            repaint();}
          if(x <=cEnd   &&   x> (cEnd+cStart)/2   &&   y> =rStart   &&   y <=(rEnd+rStart)/2)
          {
            trio(x,   y,   (cEnd+cStart)/2+1,   cEnd,   rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   (cEnd+cStart)/2+1,   cEnd,  
              (rEnd+rStart)/2+1,     rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   cStart,   (cEnd+cStart)/2,  
              (rEnd+rStart)/2+1,     rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2,   cStart,   (cEnd+cStart)/2,  
              rStart,     (rEnd+rStart)/2);
           
            /*fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.black);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,Color.black);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.black);*/
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   3;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   3;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   3;
            pause();
            repaint();   }
          if(x <=cEnd   &&   x> (cEnd+cStart)/2   &&   y <=rEnd   &&   y> (rEnd+rStart)/2)
          {
            trio(x,   y,   (cEnd+cStart)/2+1,   cEnd,   (rEnd+rStart)/2+1,   rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   cStart,   (cEnd+cStart)/2,  
              (rEnd+rStart)/2+1,     rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2,   cStart,   (cEnd+cStart)/2,  
              rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   (cEnd+cStart)/2+1,   cEnd,  
              rStart,     (rEnd+rStart)/2);

            /*fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   Color.black);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.black);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.black);*/
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   3;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   3;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   3;
            pause();
            repaint();   }
          if(x> =cStart   &&   x <=(cEnd+cStart)/2   &&   y <=rEnd   &&   y> (rEnd+rStart)/2)
          {
            trio(x,   y,   cStart,   (cEnd+cStart)/2,   (rEnd+rStart)/2+1,   rEnd);
            trio((cEnd+cStart)/2,   (rEnd+rStart)/2,   cStart,   (cEnd+cStart)/2,  
              rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   (cEnd+cStart)/2+1,   cEnd,  
              rStart,     (rEnd+rStart)/2);
            trio((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   (cEnd+cStart)/2+1,   cEnd,  
              (rEnd+rStart)/2+1,     rEnd);
              /*fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.black);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.black);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.black);*/
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   3;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   3;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   3;
            pause();
            repaint();   }}
        else
        {
          if(x> =cStart   &&   x <=(cEnd+cStart)/2   &&   y> =rStart   &&   y <=(rEnd+rStart)/2)
          {
            /*fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.red);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.red);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   Color.red);*/
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   1;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   1;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   1;
            pause();
            repaint();}
          if(x <=cEnd   &&   x> (cEnd+cStart)/2   &&   y> =rStart   &&   y <=(rEnd+rStart)/2)
          {
            /*fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.green);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,Color.green);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.green);*/
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   2;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   2;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   2;
            pause();
            repaint();}
          if(x <=cEnd   &&   x> (cEnd+cStart)/2   &&   y <=rEnd   &&   y> (rEnd+rStart)/2)
          {
            /*fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2+1,   Color.red);
            fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.red);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.red);*/
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2+1]   =   1;
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   1;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   1;
            pause();
            repaint();   }  
          if(x> =cStart   &&   x <=(cEnd+cStart)/2   &&   y <=rEnd   &&   y> (rEnd+rStart)/2)
          {
            /*fillRect((cEnd+cStart)/2,   (rEnd+rStart)/2,   Color.green);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2,   Color.green);
            fillRect((cEnd+cStart)/2+1,   (rEnd+rStart)/2+1,   Color.green);*/
            chessBoard[(cEnd+cStart)/2][(rEnd+rStart)/2]   =   2;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2]   =   2;
            chessBoard[(cEnd+cStart)/2+1][(rEnd+rStart)/2+1]   =   2;
            pause();
            repaint();
            }}}    
      public   void   run()
      {   trio(x,   y,   1,   8,   1,   8);}
      public   void   pause()
      {try  
        {   Thread.sleep(1000);
        }   catch   (InterruptedException   e){}}
      public   void   fillRect(int   x,   int   y,   Color   color)
      {   Graphics2D   g2D   =   (Graphics2D)getGraphics();
        g2D.setPaint(color);
        g2D.fill(new   Rectangle2D.Float(10.0f+18*x,   40.0f+18*y,   15.0f,   15.0f));
      }      
    }
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .01758 s, 2 queries.
    主站蜘蛛池模板: 黄色一级片在线播放| 亚洲AV无码精品网站| 羞羞视频在线观看网站| 国产精品精品自在线拍| 中文字幕在线久热精品| 日韩欧美亚洲精品| 亚洲精品无码av人在线观看| 精品人妻久久久久久888| 国产日韩欧美中文字幕| JAPANESE国产在线观看播放| 性高湖久久久久久久久| 乳揉みま痴汉电车动漫中文字幕 | 婷婷色天使在线视频观看| 久草视频福利资源站| 欧美怡红院免费全视频| 八区精品色欲人妻综合网| 老鸭窝视频在线观看| 国产真实伦正在播放| av电影在线播放| 嫩模bbw搡bbbb搡bbbb| 久久水蜜桃亚洲AV无码精品| 果冻传媒91制片厂211| 交换年轻夫妇5| 看大片全色黄大色黄| 国产乱理伦片a级在线观看| 黄色三级免费电影| 国产精品美女流白浆视频| 一个人看的www日本高清视频| 拍摄直播play文h| 亚洲1234区乱码| 欧美成人精品第一区| 极品丰满美女国模冰莲大尺度| 新人本田岬847正在播放| 天天综合色天天综合| 国产精品第九页| 国产一区二区三精品久久久无广告| 另类老妇性BBWBBW| 国产一级淫片a视频免费观看| 国产AV一区二区三区最新精品 | 国产精品欧美亚洲| xxxxx性bbbbb欧美|