波动数列,dp,组合数

题目

#include<iostream>
using namespace std;
const   int N=1010;
int dp[N][N];
const   int mod=1e8+7; 
int n,s,a,b; int get_mod(int x)
{
   
    return (x%n+n)%n;
}
int main()
{
   
    cin>>n>>s>>a>>b;
    dp[0][0]=1;
    for(int i=1;i<=n-1;i++)
    for(int j=0;j<=n-1;j++)
    dp[i][j]=(dp[i-1][get_mod(j-a*i)]+dp[i-1][get_mod(j+b*i)])%mod;
    printf("%d\n",dp[n-1][get_mod(s)]);
    return 0;
}
全部评论

相关推荐

10-15 10:57
已编辑
武昌理工学院 FPGA工程师
狠赚笔第一人:老哥学院本没实习还想拿13k学Java狠赚笔呢
点赞 评论 收藏
分享
面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务