题目链接: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<