题目大意:
原版题目太阴间了,直接把人误导+过样例,然后一交全wa掉。。。。
n个箱子,a个百球,b个黑球,求装箱方案数,重点是球可以有剩余不装的,箱子可以是空的。
解题思路:
<1. 递推
状态表示:f(i,j,k)表示前i个箱子装j个白球,k个黑球的方案数。
状态转移:
不同状态之间的联系就是后面的状态比前面的状态多了cnt1个白球,cnt2个黑球,所以转移时我们要枚举i,j,k,cnt1,cnt2五个变量(捂脸qaq)。
上一份用了高精的代码:
#include <bits/stdc++.h>
#define int __int128
using namespace std;
int n,a,b;
int dp[55][55][55];
__int128 read()
{
__int128 x=0,f=1;
char ch=getchar();
while(!isdigit(ch)&&ch!='-')ch=getchar();
if(ch=='-')f=-1,ch=getchar();
while(isdigit(ch))x=x*10+ch-'0',ch=getchar();
return f