样例没过 WA 求助
查看原帖
样例没过 WA 求助
556362
Unnamed114514楼主2022/7/11 16:12
#include<bits/stdc++.h>
using namespace std;
const int mod=1e8;
int n1,n2,k1,k2,dp[105][105][2];
int dfs(int a,int b,int cnt,int p){
	if(a==n1&&b==n2)
		return 1;
	if(~dp[a][b][p])
		return dp[a][b][p];
	int res=0;
	if(p){
		if(cnt<k1&&a<n1)
			res+=dfs(a+1,b,cnt+1,1);
		if(b<n2)
			res+=dfs(a,b+1,1,0); 
	} else{
		if(cnt<k2&&b<n2)
			res+=dfs(a,b+1,cnt+1,0);
		if(a<n1)
			res+=dfs(a+1,b,1,1);
	}
	return dp[a][b][p]=res%mod;
}
int main(){
	cin>>n1>>n2>>k1>>k2;
	if((n1&&!k1)||(n2&&!k2)){
		puts("0");
		return 0;
	}
	memset(dp,-1,sizeof(dp));
	cout<<dfs(1,0,1,1)+dfs(0,1,1,0)<<endl;
	return 0;
}
2022/7/11 16:12
加载中...