<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  JAVA語言開發(fā)  (http://www.hufushizhe.com/bbs/list.asp?boardid=64)
    ----  有高手能把JAVA語言的Triomino問題改寫成C語言嗎?  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=64&id=2454)

    --  作者:wangxinxin
    --  發(fā)布時間:2010-12-11 9:27:09
    --  有高手能把JAVA語言的Triomino問題改寫成C語言嗎?
    這是網(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));
      }      
    }

    主站蜘蛛池模板: 亚洲一区爱区精品无码| 国产欧美日韩三级| 久久亚洲国产成人精品性色| 欧美日一区二区三区| 国产123在线观看| 黄色毛片免费网站| 在线观看视频免费123| 久久久精品免费视频| 最近中文字幕2018| 人人洗澡人人洗澡人人| 精品无码久久久久久国产| 国产成人综合日韩精品婷婷九月 | 国产一起色一起爱| 91影院在线观看| 大香网伊人久久综合网2020 | 直播视频区国产| 国产呦系列呦交| 91免费福利视频| 天堂网在线观看在线观看精品 | 欧美牲交a欧美牲交aⅴ久久 | 人人玩人人添人人| 精品人人妻人人澡人人爽人人 | 一区二区三区在线免费观看视频| 日本一卡精品视频免费| 亚洲日本va午夜中文字幕一区 | 国产成人精品免费视频大全麻豆| 一区二区三区视频| 成年18网站免费视频网站| 亚洲啪啪av无码片| 欧美日韩精品在线| 免费在线你懂的| 精品无码成人片一区二区98 | 久久精品国产只有精品2020| 欧美xxxxx在线观看| 亚洲色婷婷综合久久| 男人天堂视频网| 欧美丰满少妇xxxxx| 在线观免费看高清影视剧| 中文字幕欧美激情| 日本丰满www色| 亚洲sss视频|