【求救】30行代码,错了#8
  • 板块P1358 扑克牌
  • 楼主l55584
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/7/12 17:58
  • 上次更新2023/11/4 14:59:44
查看原帖
【求救】30行代码,错了#8
184271
l55584楼主2021/7/12 17:58

记忆化搜索+杨辉三角

#include <bits/stdc++.h>
using namespace std;
int n,m;
short int a[101],f[101][10001];
const int mod=10007;
int dfs(int c,int d)
{
	if(c==d||c==0||d==0) return 1;
	if(f[c][d]==0) f[c][d]=(dfs(c-1,d-1)+dfs(c,d-1))%mod;
	else return f[c][d];
	return f[c][d];
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>a[i];
		if(n<a[i]){cout<<"0";return 0;}
	}
	int ans=1;
	for(int i=1;i<=m;i++)
	{
		ans*=dfs(a[i],n);ans%=mod;
		n=max(0,n-a[i]);
	}
	cout<<ans;
}

是不是还有那个地方没特判?求教

2021/7/12 17:58
加载中...