POJ 3254 Corn Fields(状态压缩DP)

2015-01-27 06:11:02 · 作者: · 浏览: 10

状态压缩DP,注意不能选的地方和不挨着对本行一个意思,本行自己选的是另一个意思。可相邻与范围限制不同。



#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
         #define inf (1<<30) #define MOD 100000000 using namespace std; typedef long long ll; const int maxn=10+100; ll dp[2][1<<14]; int vis[1<<14]; ll add; int in[14]; int N,M; int cp; void dfs(int r,int c,int cur) { if(cur==M) {dp[r][c]=(dp[r][c]+add)%MOD;return;} dfs(r,c,cur+1); if(cur<=M-1 && !((1<