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

PKU 1753枚舉

這個(gè)跟暑假做的一個(gè)題目是類似的 不過就是多了一種可能 全黑或者全白都可以

算法思路:
1 第一行枚舉操作 下面的每行如果上行此列為黑(或者白)的時(shí)候進(jìn)行操作
2 檢查最后一行是否滿足要求

剪枝:
如果操作次數(shù)已經(jīng)超過當(dāng)前最小次數(shù) 不必再試驗(yàn)

代碼如下:

/**********************
Author: WHU_Victordu
Created Time: 2007-12-26
File Name: pku1753.cpp
  Description: 
   **************************/
#include "stdio.h"
#include "memory.h"
#define  INF 32675
int grid[4][4],a[4][4],out[4][4],op[4][4];
char cgrid[4][4];

void next()
{
      int j;
     for(j=3;j>=0;j--)
       {
           if(j==3)    op[0][j]++;
           else
           if(op[0][j+1]==2)    {op[0][j+1]=0;op[0][j]++;}
           else    break;
     }
}    

void copy()
{        
     int i,j;        
     for(i=0;i<4;i++)
         for(j=0;j<4;j++)
                 a[i][j]=grid[i][j];
 }

void change(int i,int j)
{
       a[i][j]^=1;
      if(j>0)   a[i][j-1]^=1;
      if(j<3) a[i][j+1]^=1;
      if(i>0)   a[i-1][j]^=1;
      if(i<3) a[i+1][j]^=1;
}    
          
int main()
{
      int i,j,cnt,min=INF,flag;
     
      for(i=0;i<4;i++)
      {
       gets(cgrid[i]);
      for(j=0;j<4;j++)
      {
      if(cgrid[i][j]=='w') grid[i][j]=0;
      else grid[i][j]=1;
      }
      }
      memset(op,0,sizeof(op));
      while(op[0][0]!=2)
      {
            copy();
            cnt=0;
            flag=0;
            for(i=0;i<=4;i++)
            {
                 if(i!=0&&i!=4)
                 {
                           for(j=0;j<4;j++)
                          if(a[i-1][j]==1)            
                          {
                                op[i][j]=1;
                                change(i,j);
                                cnt++;
                                if(cnt>min)    {flag=1;break;}
                           }
                           else    op[i][j]=0;
                  }                 
                  else
                  {
                           if(i==0)     
                         {
                           for(j=0;j<4;j++)    
                             if(op[i][j]==1)        
                           {
                                    change(i,j);cnt++;
                          }
                        }
                          else
                          if(i==4)
                         {
                              for(j=0;j<4&&a[i-1][j]==0;j++);    
                              if(j==4&&cnt<min)    {min=cnt;copy();}
                          }
                    }
                    if(flag==1)    break;
               }
                 next();
        }
       
      memset(op,0,sizeof(op));
      while(op[0][0]!=2)
      {
            copy();
            cnt=0;
            flag=0;
            for(i=0;i<=4;i++)
            {
                 if(i!=0&&i!=4)
                 {
                           for(j=0;j<4;j++)
                          if(a[i-1][j]==0)            
                          {
                                op[i][j]=1;
                                change(i,j);
                                cnt++;
                                if(cnt>min)    {flag=1;break;}
                           }
                           else    op[i][j]=0;
                  }                 
                  else
                  {
                           if(i==0)     
                         {
                           for(j=0;j<4;j++)    
                             if(op[i][j]==1)        
                           {
                                    change(i,j);cnt++;
                          }
                        }
                          else
                          if(i==4)
                         {
                              for(j=0;j<4&&a[i-1][j]==1;j++);    
                              if(j==4&&cnt<min)    {min=cnt;copy();}
                          }
                    }
                    if(flag==1)    break;
               }
                 next();
        }
           if(min==INF)    printf("Impossible\n");
           else
           printf("%d\n",min);
        // while(1);
         return 0;
}

 

posted on 2007-12-26 10:35 Victordu 閱讀(1364) 評(píng)論(2)  編輯 收藏 引用

評(píng)論

# re: PKU 1753枚舉 2007-12-27 15:28 simbaforrest

嗯,我是用二進(jìn)制作狀態(tài)枚舉的  回復(fù)  更多評(píng)論   

# re: PKU 1753枚舉 2007-12-27 22:14 Victordu

哈哈 simba@simbaforrest
  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導(dǎo)航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

統(tǒng)計(jì)

常用鏈接

留言簿(5)

隨筆檔案(46)

搜索

積分與排名

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区三区免费在线看| 欧美国产精品日韩| 欧美mv日韩mv国产网站| 久久狠狠久久综合桃花| 亚洲自拍偷拍视频| 亚洲欧美日本国产专区一区| 亚洲主播在线| 久久久久久穴| 欧美激情一区二区三区在线视频 | 亚洲一区二区三区乱码aⅴ| 一区二区免费在线播放| 亚洲一区国产| 久久精品国产欧美亚洲人人爽| 久久高清国产| 女生裸体视频一区二区三区| 欧美成人综合网站| 亚洲电影激情视频网站| 久久美女性网| 最新中文字幕亚洲| 亚洲欧洲av一区二区三区久久| 香蕉av福利精品导航| 麻豆freexxxx性91精品| 欧美色视频在线| 黄色精品一二区| 99国产精品久久久久久久| 性欧美1819sex性高清| 欧美韩日精品| 欧美一区二区三区视频| 免费观看成人| 国产日韩av一区二区| 亚洲毛片在线观看.| 久久精品成人欧美大片古装| 最新成人av网站| 欧美在线观看一区二区| 欧美日韩一区在线观看| 亚洲国产电影| 久久av免费一区| 99精品99久久久久久宅男| 久久天堂国产精品| 国产欧美日韩在线观看| 宅男在线国产精品| 亚洲第一综合天堂另类专| 欧美在线观看视频在线| 国产精品久久久久久久免费软件| 亚洲国产一区二区精品专区| 久久国产精品一区二区| av成人激情| 欧美电影在线观看完整版| 海角社区69精品视频| 欧美影院久久久| 亚洲一级片在线看| 欧美色欧美亚洲另类二区| 日韩视频一区二区| 欧美国产日本高清在线| 久久嫩草精品久久久精品| 国产一区二区日韩精品欧美精品 | 久久精品欧洲| 亚洲欧美日韩一区二区三区在线 | 亚洲欧美日韩在线| 国产精品久久久久久久久久三级| 亚洲午夜在线视频| 一本久久a久久免费精品不卡| 欧美日韩第一区| 中文精品视频| 一区二区三区欧美激情| 国产精品久久久久久久7电影| 亚洲一区美女视频在线观看免费| 久久视频国产精品免费视频在线| 国产一区二区三区久久| 性欧美大战久久久久久久久| 在线亚洲精品| 国产精品乱码一区二三区小蝌蚪 | 亚洲美女黄色片| 最近中文字幕日韩精品| 欧美深夜影院| 羞羞色国产精品| 亚洲欧美日韩国产综合在线 | 久久免费视频在线| 在线日韩av片| 亚洲国产日韩欧美在线99| 欧美剧在线观看| 亚洲特级毛片| 欧美亚洲一区二区在线| 国产一区自拍视频| 欧美成人免费播放| 欧美日韩国产一区精品一区| 亚洲欧美国产毛片在线| 欧美在线播放一区| 日韩视频在线免费| 亚洲无线观看| 黄色精品在线看| 91久久精品美女高潮| 国产精品vvv| 久久亚洲综合| 欧美精品一区二区视频 | 久久国产精品一区二区三区| 亚洲国产高潮在线观看| 日韩亚洲国产精品| 国产一区在线免费观看| 亚洲乱码国产乱码精品精天堂| 国产精品少妇自拍| 欧美高清影院| 国产一区二区三区无遮挡| 亚洲电影自拍| 国产一区二区三区久久悠悠色av| 91久久久一线二线三线品牌| 国产视频一区在线观看| 亚洲日韩欧美视频一区| 国产日韩在线视频| 一本色道久久加勒比精品 | 亚洲一区二区成人| 欧美在线亚洲在线| 亚洲中字黄色| 欧美日韩亚洲高清| 老司机精品久久| 国产精品v片在线观看不卡| 久久久久久久久岛国免费| 欧美激情视频一区二区三区免费 | 国产婷婷色综合av蜜臀av| 免费不卡在线观看av| 激情文学一区| 亚洲精品久久久久久久久久久久 | 欧美黄免费看| 久久久久五月天| 国产精品美女主播在线观看纯欲| 欧美激情一区二区三区高清视频| 国产日韩欧美亚洲一区| 一区二区免费在线观看| 亚洲毛片在线看| 欧美成人情趣视频| 欧美成人午夜影院| 在线播放豆国产99亚洲| 亚洲欧美中日韩| 亚洲一区欧美一区| 欧美视频一区二区三区| 亚洲国产精品一区二区www| 在线播放豆国产99亚洲| 久久青草久久| 欧美国产激情| 亚洲精品乱码久久久久久日本蜜臀| 久久精品首页| 麻豆久久久9性大片| 国产香蕉久久精品综合网| 亚洲一区免费观看| 久久国产精品毛片| 在线观看日韩一区| 男男成人高潮片免费网站| 欧美国产精品日韩| 亚洲乱亚洲高清| 欧美日韩在线播放| 亚洲综合不卡| 老司机精品视频一区二区三区| 极品日韩av| 欧美黑人在线播放| 中文在线资源观看网站视频免费不卡| 一本色道久久综合亚洲精品小说 | 欧美大片va欧美在线播放| 亚洲第一黄色| 欧美久久一级| 午夜精品理论片| 免费成人高清在线视频| 亚洲青色在线| 国产精品久久久久久户外露出| 久久成人免费网| 亚洲人在线视频| 欧美伊久线香蕉线新在线| **欧美日韩vr在线| 国产精品乱人伦一区二区| 久久精品30| 99视频超级精品| 久久综合给合| 亚洲欧美激情视频| 亚洲国产精品成人精品| 欧美日韩午夜在线| 久久久免费av| 亚洲午夜久久久| 欧美激情国产精品| 欧美一区二区在线看| 亚洲人成欧美中文字幕| 国产精品一区二区三区免费观看| 久久精品成人一区二区三区| 久久久综合精品| 日韩一级成人av| 久久综合久久综合这里只有精品| 亚洲日本va午夜在线电影| 国产精品天美传媒入口| 久久综合图片| 性色av一区二区三区| 亚洲精品在线看| 毛片精品免费在线观看| 亚洲欧美国产另类| 一区二区三区产品免费精品久久75| 国内精品嫩模av私拍在线观看 | 亚洲午夜女主播在线直播| 国产在线精品二区| 国产精品久久中文| 欧美日韩精品一区二区天天拍小说| 久久久久久伊人| 欧美一区二区啪啪| 亚洲在线观看|