为什么还是re,我真的裂开了呀
  • 板块P1358 扑克牌
  • 楼主kaito_936
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/4/14 14:43
  • 上次更新2024/4/14 16:19:13
查看原帖
为什么还是re,我真的裂开了呀
1180146
kaito_936楼主2024/4/14 14:43
#include <iostream> 
using namespace std;
int dp[101][10001], n, m, temp, sum, b[101][101];


int main()
{
    cin >> n >> m;
    for (int i = 0; i <= n; i++) {
	for (int j = 0; j <= i; j++) {
	    if (j == 0) b[i][j] = 1;
	    else if (j == i) b[i][j] = 1;
	    else b[i][j] = b[i - 1][j - 1] % 10007 + b[i - 1][j] % 10007;
	    b[i][j]%=10007;
	}
    }
    
    
    for (int j = 0; j <= n; j++) dp[0][j] = 1;
    for (int i = 1; i <= m; i++) {
	cin >> temp;
	sum += temp;
	for (int j = 0; j <= n; j++) {
	    if (j < sum) dp[i][j] = 0;
	    else dp[i][j] = dp[i - 1][j] * b[j - sum + temp][temp];
	    dp[i][j] %= 10007;
	}
    }
    cout << dp[m][n] << endl;
    return 0;
}
2024/4/14 14:43
加载中...