青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

newplan

阿基米德在洗澡時發現浮力原理,高興得來不及穿上褲子,跑到街上大喊:Eureka(我找到了)。
posts - 39, comments - 26, trackbacks - 0, articles - 4
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

算法 實驗 4

Posted on 2008-06-10 21:47 山泉彎延 閱讀(387) 評論(0)  編輯 收藏 引用
/*
6.10
*/
/*==========INCLUDES BEGIN===============*/ 
#include 
<cstdlib>
#include 
<iostream>
#include 
<fstream>
#include 
<algorithm>
#include 
<QApplication>
#include 
<QWidget>
#include 
<QPainter>
#include 
<Qt>

/*==========INCLUDE END==================*/ 

/*==========MACROS BEGIN=================*/
#define  MAX        
100000000
#define  BUFFER     
300
#define  INPUTFILE  
"./50.txt"
/*==========MACROS  END==================*/

/*==========STD DECLRARS BEGIN===========*/
using std::cout;
using std::cin;
using std::endl;
using std::ios;
using std::ifstream;
using std::sort;
using std::max;
/*==========STD DECLARS END===============*/

/*============STRUCTS BRGIN===============*/ 
struct 
Space {
       
int x;
       
int y;
       
int w;
       
int h;
       bool v;
//IF VISITED THEN V =TURE ELSE FLASE
       };
struct Gadget
{
       
int x;
       
int y;
       
int w;
       
int h;
};
/*=============STRUCT END=================*/



/*===========GADGET CUT BEGIN=============*/ 
        Gadget  result[BUFFER];
        Gadget  g[BUFFER];
        
int      bestH;
        
Space   space[BUFFER];
        
int spaceNum ;
        
int     W;
        
int     N;
        
int     H;  
        ifstream Fin; 
        
int     deep;   
        clock_t    start;
        clock_t     
end;

/*-------------FRIENDS METHOD--------------------*/
bool mycmpG(Gadget t1,Gadget t2){return t1.h
>t2.h;} 
/*-------------FRIENDS METHOD--------------------*/
 bool mycompS(
Space t1,Space t2){return t1.y<t2.y;}
/*-------------CONSTRUCT METHOD------------------*/
void init()
{   
    Fin.open(INPUTFILE,ios::in);
    Fin
>>N;
    Fin
>>W;
    
for(int i=0;i<N;i++)
      Fin
>>g[i].h>>g[i].w;
    sort(g,g
+N,mycmpG);
    
    
space[0].x=space[0].y=0;
    
space[0].h=MAX;
    
space[0].w=W;
    
for(int i=0;i<N;i++)
      
space[0].v=false;
    H
=0;
    deep
=0
    bestH 
= MAX;
    spaceNum 
= 1
}   
/*-------------CUT METHOD------------------*/
bool canBeCut(Gadget 
&g,int i,int &TaddSpace)
{
    
int addSpace = 0;    
    
if((space[i].h>=g.h)&&(space[i].w>=g.w)){
        
if(space[i].w>g.w){
            
space[spaceNum].x = space[i].x+g.w;
            
space[spaceNum].y = space[i].y;
            
space[spaceNum].h = g.h;
            
space[spaceNum].w = space[i].w - g.w;
            addSpace
++;
        }
        
if(space[i].h>g.h){
            
space[spaceNum+1].x = space[i].x;    
            
space[spaceNum+1].y = space[i].y+g.h;
            
if(space[i].h==MAX)
                
space[spaceNum+1].h = MAX;
            
else
                
space[spaceNum+1].h = space[i].h - g.h;
            
space[spaceNum+1].w = space[i].w;
            addSpace
++;
        }
        g.x 
= space[i].x;
        g.y 
= space[i].y;
        H 
= max(H,g.y+g.h);
        spaceNum 
+= addSpace;
        TaddSpace 
= addSpace;
        return 
true;
    }
    return 
false;
}
/*-------------THE MAIN METHOD--------------------*/
 void backTrack(
int which)
{   
// if(deep==100000)return;
    
// else deep++;
     sort(
space,space+spaceNum,mycompS);
     
Space   temp[BUFFER];
     
for(int i=0;i<spaceNum;i++)
        temp[i] 
= space[i];    
     
     
if(which==N)
      {
        
if(H<bestH)
        {    bestH 
= H;
            
for(int i = 0;i<N;i++)
              result[i]
=g[i];
           
        }
        return;
      }
     
int addSpace;
     
int Num=spaceNum;     
     
for(int i=0;i<Num;i++)
         
if(space[i].v == false)
          { 
            
int tempH=H;
            
if(canBeCut(g[which],i,addSpace))
            {       
                    
if(H>bestH)//剪枝 
                    {
                     H 
= tempH;
                     spaceNum 
-= addSpace;
                     continue;
                    }
                    
space[i].v = true;
                    backTrack(which
+1);
                    spaceNum
-=addSpace;
                    
space[i].v = false
                    H 
= tempH;
                    
for(int k=0;k<spaceNum;k++)
                    
space[k] = temp[k];        
             }         
          }
     
}
/*===========GADGET CUT END=============*/ 

/*========NEWBOX CLASS BEGIN============*/
class NEWBOX:
public QWidget
{   
    
public:
        NEWBOX(QWidget 
*parent=0);
    protected:
        void paintEvent(QPaintEvent 
*event); 
    
private:

};
/*NEWBOX METHOD*/
/*-----------------------------------*/
NEWBOX::NEWBOX(QWidget 
*parent):QWidget(parent)
{
     setFixedSize(W
*15,30*15);
     char temp[
5];
     sprintf(temp,
"%d",bestH);
     char title[
40]="H:";
     strcat(title,temp);
     char temp2[
20]=" Spend TIME:";
     char temp3[
5];
     sprintf(temp3,
"%f",(double)(end-start)/CLOCKS_PER_SEC);
     strcat(temp2,temp3);
     strcat(title,temp2);
     setWindowTitle(title);
     setPalette(QPalette(QColor(
250250200)));
     setAutoFillBackground(
true);
}
/*-----------------------------------*/
void NEWBOX::paintEvent(QPaintEvent 
*)
{    QPainter painter(this);
     painter.setPen(Qt::SolidLine);
     painter.setBrush(Qt::blue);
     painter.translate(
0,0);
     
for(int i=0;i<=N;i++)
     painter.drawRect(result[i].x
*15,30*15-result[i].y*15,
     result[i].w
*15,-result[i].h*15);  
}

/*=========NEWBOX CLASS END=============*/

int main(int argc, char *argv[])
{   QApplication app(argc, argv);
    init();
    start
=clock();
    backTrack(
0);
    
end= clock();//TIME END HERE
    NEWBOX newb;
    newb.show();
    return app.exec();

}

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品免费视频| 裸体歌舞表演一区二区| 日韩视频一区二区三区在线播放| 亚洲第一页在线| 亚洲一区二区三区免费观看 | 久久米奇亚洲| 欧美在线3区| 午夜一区二区三区不卡视频| 欧美激情一区二区三级高清视频| 久久久99国产精品免费| 久久国产视频网| 一区电影在线观看| 在线观看一区二区精品视频| 欧美在线www| 欧美一乱一性一交一视频| 欧美精品18videos性欧美| 欧美成人精品| 亚洲国产影院| 欧美激情精品久久久久久大尺度 | 性欧美办公室18xxxxhd| 国产精品婷婷| 亚洲女ⅴideoshd黑人| 久久最新视频| 久久久久久999| 国产自产在线视频一区| 午夜在线视频观看日韩17c| 欧美激情五月| 美女尤物久久精品| 日韩视频免费| 亚洲欧美网站| 欧美国产日韩一区| 亚洲欧美日本视频在线观看| 国产一区二区三区丝袜| 欧美激情网友自拍| 久久精品国产亚洲精品| 一本色道久久综合狠狠躁篇的优点| 久久gogo国模裸体人体| 亚洲精品色婷婷福利天堂| 国产欧美精品xxxx另类| 欧美精品18| 久久综合伊人| 欧美一区二区三区免费观看视频 | 中国成人黄色视屏| 在线观看日韩av| 国产精品美女久久久免费| 久久综合图片| 亚洲一区三区电影在线观看| 欧美激情国产日韩精品一区18| 亚洲一区二区精品视频| 亚洲欧洲精品天堂一级| 国产在线精品二区| 国产精品青草久久| 欧美日本亚洲视频| 久久午夜av| 久久久国产一区二区| 亚洲一区国产一区| 亚洲一区二区精品在线| 99国产精品久久久| 亚洲毛片在线观看| 91久久精品国产91久久性色tv| 韩国成人精品a∨在线观看| 国产女人精品视频| 亚洲国产日韩一区| 久久久久.com| 久久av一区二区三区| 香蕉成人久久| 欧美亚洲综合另类| 欧美在线精品一区| 欧美一区日本一区韩国一区| 亚洲在线黄色| 午夜亚洲一区| 欧美一区国产在线| 久久成人这里只有精品| 久久久xxx| 久久视频在线免费观看| 久久一区二区三区av| 久久综合一区二区| 欧美成人黑人xx视频免费观看| 欧美凹凸一区二区三区视频| 久久亚洲欧美| 欧美国产亚洲另类动漫| 亚洲国产欧美在线 | 久久精品在线视频| 久久婷婷人人澡人人喊人人爽 | 久久精品三级| 欧美激情一区二区三区在线视频 | 亚洲一区二区三区色| 欧美中文日韩| 欧美成年网站| 日韩视频精品| 欧美一级专区免费大片| 欧美va亚洲va国产综合| 欧美欧美天天天天操| 国产精品欧美精品| 在线观看欧美黄色| 在线亚洲一区| 久久久午夜精品| 亚洲乱码国产乱码精品精可以看 | 亚洲精选大片| 久久精品亚洲国产奇米99| 亚洲欧洲一级| 一区二区欧美亚洲| 国产欧美日韩精品在线| 国产综合网站| 夜夜嗨av一区二区三区网站四季av| 亚洲视频一区| 欧美aaa级| 亚洲视频免费看| 免费观看在线综合色| 国产精品久久97| 欧美成在线视频| 国产精品久久久一区麻豆最新章节 | 国产精品久久久久久av下载红粉| 国产精品综合网站| 亚洲日本中文字幕区| 午夜精品av| 亚洲激情一区二区| 亚洲欧美日韩天堂| 欧美日本亚洲| 亚洲乱码国产乱码精品精| 久久精品卡一| 亚洲小说区图片区| 欧美日韩精品免费| 亚洲精品一二三| 亚洲国产精品精华液网站| 久久午夜国产精品| 一区在线免费| 欧美多人爱爱视频网站| 久久一区二区三区超碰国产精品| 国产午夜精品一区理论片飘花| 亚洲欧美日韩在线综合| 亚洲视频一区二区| 国产精品有限公司| 久久久久久国产精品mv| 久久国产精品色婷婷| 在线免费不卡视频| 亚洲国产高清一区| 欧美日韩第一页| 亚洲一区二区视频| 亚洲女优在线| 在线播放视频一区| 亚洲第一色在线| 欧美精品一区二区视频| 亚洲特级毛片| 亚洲男人的天堂在线aⅴ视频| 国产精品毛片a∨一区二区三区|国 | 亚洲一区黄色| 欧美久久久久久| 伊人精品在线| 午夜精品久久久久久久久久久久久| 欧美国产精品| 免费在线成人av| 亚洲国产视频直播| 美女精品自拍一二三四| 久久精品91| 国产综合香蕉五月婷在线| 久久精品99国产精品| 亚洲欧美日韩精品综合在线观看| 欧美看片网站| 亚洲网站视频福利| 校园春色国产精品| 亚洲午夜女主播在线直播| 欧美调教vk| 西西裸体人体做爰大胆久久久| 久久se精品一区二区| 亚洲天堂免费观看| 国产精品久久久一区二区| 亚洲欧美激情四射在线日 | 欧美日韩在线视频一区| 中文精品视频一区二区在线观看| 亚洲国产精品视频一区| 欧美激情一区二区三区不卡| 亚洲欧洲精品一区二区三区波多野1战4| 久久国产精品电影| 日韩午夜电影av| 红桃视频一区| 欧美激情免费在线| 欧美日韩国产123| 午夜精品影院在线观看| 欧美一区二粉嫩精品国产一线天| 国产一区二区你懂的| 欧美国产国产综合| 老鸭窝亚洲一区二区三区| 亚洲制服av| 久久国产手机看片| 亚洲精品国精品久久99热一| 99国产精品| 精品999成人| 99在线精品观看| 国产一区二区三区四区在线观看 | 亚洲尤物精选| 久久久五月婷婷| 一二三区精品福利视频| 久久激情网站| 国产精品久久久久久妇女6080| 久久婷婷综合激情| 国产精品久久久久久亚洲毛片| 久久综合给合久久狠狠狠97色69| 欧美成人高清| 另类天堂视频在线观看|