• <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>
            隨筆-65  評論-6  文章-0  trackbacks-0
             1 #include <iostream>
             2 using namespace std;
             3 typedef __int64 LL;
             4 #define MaxSize 12
             5 LL num[MaxSize][MaxSize];
             6 LL dp[MaxSize][2049];
             7 int h,w,MaxN;
             8 
             9 bool test(int val){
            10     int i,sum;
            11     for(i=0;i<w;i++){
            12         sum=0;
            13         while (val & (1<<i))
            14             sum++,i++;
            15         if(sum & 1)    return false;
            16     }
            17     return true;
            18 }
            19 LL getAw(int step,int status){
            20     if(step==1){//臨界狀態
            21         if(test(status))    return 1;
            22         return 0;
            23     }
            24     if(dp[step][status]!=-1)
            25         return dp[step][status];
            26     int i,temp,last=~status;
            27     LL sum=0;
            28     last &= MaxN;
            29     for(i=0;i<=MaxN;i++){
            30         if( (i&last) != last)
            31             continue;
            32         temp=i & status;
            33         if(test(temp))
            34             sum+=getAw(step-1,i);
            35     }
            36     dp[step][status]=sum;
            37     return sum;
            38 }
            39 
            40 int main(){
            41     //freopen("in.txt","r",stdin);
            42     memset(num,-1,sizeof(num));
            43     while (scanf("%d %d",&h,&w),(h||w)){
            44         if(h*w & 1){
            45             puts("0");
            46             continue;
            47         }
            48         if(h<w)
            49             h^=w,w^=h,h^=w;
            50         if(num[h][w]!=-1){
            51             printf("%I64d\n",num[h][w]);
            52             continue;
            53         }
            54         int i,j;
            55         MaxN=(1<<w)-1;
            56         for(i=1;i<=h;i++)
            57             for(j=0;j<=MaxN;j++)
            58                 dp[i][j]=-1;
            59         num[h][w]=num[w][h]=getAw(h,MaxN);
            60         printf("%I64d\n",num[h][w]);
            61     }
            62     return 0;
            63 }
            posted on 2012-07-14 14:55 Leo.W 閱讀(377) 評論(0)  編輯 收藏 引用
            大伊人青草狠狠久久| 亚洲精品成人久久久| 99久久成人国产精品免费| 久久久久久综合一区中文字幕| 久久se精品一区二区影院| 久久99热这里只频精品6| 成人久久精品一区二区三区| 精品国产婷婷久久久| 日韩av无码久久精品免费| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久久受www免费人成| 亚洲中文精品久久久久久不卡| 久久精品www| 亚洲乱码中文字幕久久孕妇黑人| 久久精品草草草| 无码国内精品久久人妻蜜桃| 久久免费视频6| 狠狠人妻久久久久久综合| 久久久久久亚洲AV无码专区| 一级女性全黄久久生活片免费 | 中文精品久久久久人妻不卡| 久久亚洲色一区二区三区| 久久夜色tv网站| 久久国产色AV免费看| 99精品久久精品一区二区| 香蕉久久影院| 久久综合亚洲色HEZYO国产| 久久久青草久久久青草| 国产V亚洲V天堂无码久久久| 日韩精品久久无码人妻中文字幕| 香蕉久久久久久狠狠色| 日日狠狠久久偷偷色综合0| 久久五月精品中文字幕| 四虎国产精品成人免费久久| 久久久久亚洲av成人无码电影| 国产精品久久久久影院嫩草| AAA级久久久精品无码片| 国产成人久久精品激情| 91精品国产91久久久久久| 精品无码久久久久久久动漫| 日韩中文久久|