给你t组数据 2*a块巧克力 分成k块有几种分法
这道题看题解的话的代码不难理解,就是让每个状态都是由上一个状态转移得到,运用的是dp思想,多做题,才能看到这种题目反应过来怎么做。
f[i][j][0/1] i表示第几行 j表示分成几分0/1表示第i行是否相连
#includeusing namespace std;const int mo=100000007;int f[1100][2200][4]= { 0};int main(){f[1][2][0]=1;f[1][1][1]=1;for(int i=1; i<=1000; i++){for(int j=1; j<=2*i; j++){// cout< <<" "< <<':'< <<' '< <
多做题,才能更好的理解dp思想。