zoukankan      html  css  js  c++  java
  • poj3254 Corn Fields

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #define mod 100000000
     5 using namespace std;
     6 int dp[13][1<<12],cur[13];
     7 int can[1<<12],tot,m,n;
     8 int main()
     9 {
    10     while(~scanf("%d%d",&m,&n))
    11     {
    12         tot = 0;
    13         for(int i=0;i<(1<<n);i++)
    14             if((i&(i<<1))==0) can[tot++] = i;
    15         memset(cur,0,sizeof(cur));
    16         memset(dp,0,sizeof(dp));
    17         for(int i=1;i<=m;i++)
    18         {
    19             for(int j=0;j<n;j++)
    20             {
    21                 int num;
    22                 scanf("%d",&num);
    23                 if(num==0) cur[i] = (cur[i]|(1<<j));
    24             }
    25         }
    26         for(int i=0;i<tot;i++)
    27             if((cur[1]&can[i])==0) dp[1][can[i]] = 1;
    28         for(int i=1;i<m;i++)
    29         {
    30             for(int j=0;j<tot;j++)
    31             {
    32                 if((can[j]&cur[i])==0)
    33                 {
    34                     for(int k=0;k<tot;k++)
    35                     {
    36                         if(((can[k]&cur[i+1])==0)&&((can[k]&can[j])==0))
    37                             dp[i+1][can[k]] = dp[i+1][can[k]]+dp[i][can[j]];
    38                     }
    39                 }
    40             }
    41         }
    42         int ans = 0;
    43         for(int i=0;i<tot;i++)
    44         {
    45             ans += dp[m][can[i]];
    46             ans = ans % mod;
    47         }
    48         printf("%d
    ",ans);
    49     }
    50 }
    View Code
  • 相关阅读:
    ssh整合
    自定义Java集合
    java图形界面写个小桌面,内置简单小软件
    java简单日历
    javaSwing
    javaScript封装
    java解析xml文件
    缺省适配器
    适配器模式
    自定义SWT控件一之自定义单选下拉框
  • 原文地址:https://www.cnblogs.com/NWUACM/p/6606527.html
Copyright © 2011-2022 走看看