在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区

以文本方式查看主題

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

--  作者:wangxinxin
--  發布時間:2010-12-11 9:27:09
--  有高手能把JAVA語言的Triomino問題改寫成C語言嗎?
這是網上搜的java程序-   -!
  Triomino問題,即用一個L形的瓦片(有三個小正方形組成)覆蓋一個缺少了一個方塊(可以是棋盤上的   任何位置)的2^n   X   2^n棋盤  
Triomino問題的動態演示程序。
源代碼:
用分治法解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));
  }      
}

主站蜘蛛池模板: 综合久久99 | 成人激情开心网 | 五月综合色婷婷影院在线观看 | 亚洲免费一 | 久久精品国产精品亚洲艾 | 欧美色交| 夜婷婷 | 亚洲1区2区3区4区 | 自偷自拍亚洲综合精品 | 国产高清不卡视频 | 欧美日在线 | 怡红院五月天 | 亚洲精品中文字幕久久久久下载 | 久久久久国产精品免费免费 | 色婷婷中文网 | 国产精品一二三 | 亚洲最新中文字幕 | 精品在线一区 | 日本三级成人中文字幕乱码 | 在线亚洲精品自拍 | 激情五月婷婷小说 | 久久精品国产影库免费看 | 一本综合久久 | 精品一区二区视频在线观看 | 自拍天堂| 亚洲精品9999久久久久 | 五月花精品视频在线观看 | 国产噜噜噜视频在线观看 | 免费视频精品 | 四虎国产精品永久在线网址 | 亚洲蜜臀 | 国产在线观看黄 | 本道综合精品 | 成人羞羞视频网站 | 国产日韩欧美一区二区 | 日韩专区在线 | 免费高清性色生活片 | 亚洲国产欧美在线人成aaa | 亚洲精品tv久久久久久久久 | 亚洲精品人成在线观看 | 国产资源在线观看 |