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

Rss & SiteMap

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

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

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

1樓
wangxinxin 發表于:2010-12-11 9:27:09
這是網上搜的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));
  }      
}
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團
Powered By 曙海教育集團 Version 2.2
Processed in .03125 s, 2 queries.
主站蜘蛛池模板: 国产黄色在线免费观看 | 亚洲福利视频网站 | 男女羞羞免费视频 | 久久久麻豆 | 中文字幕一区婷婷久久 | 在线免费观看色 | 亚洲人成人网毛片在线播放 | 国产免费色视频 | 国产一区二区三区成人久久片 | 久久网站免费 | 四虎免费永久网站入口 | 在线不卡福利 | 开心色五香五月婷婷 | 欧美性受一区二区三区 | 国色天香社区在线观看免费直播 | 5月婷婷6月丁香 | 久久精品国波多野结衣 | 午夜在线视频免费 | 最近国语免费看 | 亚洲自拍第二页 | 亚洲欧美精品一中文字幕 | 性欧美激情在线观看 | 久久riav| 伊人色在线观看 | 亚洲精品在线免费观看 | 亚洲精品视频在线观看视频 | 男女羞羞的视频网站在线观看 | aaa级精品久久久国产片 | 三妻四妾完整版免费观看韩国电影 | 亚洲精品国产字幕久久不卡 | 综合精品 | 性做久久久久久久久25的美女 | 日韩成人在线免费视频 | 偷拍久久网 | 最近中文版字幕在线观看 | 欧美日韩精品在线观看 | 亚洲综合天堂网 | 国产精品久久久久久久 | 在线观看国产精品入口 | 2020国产精品久久久久 | 99久久这里只精品麻豆 |