HDU 4804 Campus Design(插头DP)

2014-11-24 13:03:37 · 作者: · 浏览: 0

题目链接:http://acm.hdu.edu.cn/showproblem.php pid=4804

题意:给定一个图,0是不能放的,然后现在有1X1和1X2方块,最后铺满该图,使得1X1使用次数在C到D之间,1X2次数随便,问有几种放法

思路:插头DP的变形,只要多考虑1X1的情况即可,然后DP多开一维表示使用1X1的个数

代码:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; const int MOD = 1000000007; int n, m, c, d, pre = 0, now = 1; long long dp[2][25][1222]; char g[105][15]; int main() { while (~scanf("%d%d%d%d", &n, &m, &c, &d)) { int maxs = (1<