第二题我用排列组合写了下
package tencent;

import java.util.Scanner;

public class Dpstrk{
    
    public static void main(String[] args){
        
        Scanner scan = new Scanner(System.in);
        int k = scan.nextInt();
        int a = scan.nextInt();
        int x = scan.nextInt();
        int b = scan.nextInt();
        int y = scan.nextInt();
        
        System.out.print(getInt(k, a, x, b, y));
        scan.close();
    }
    
    public static int  getInt(int k,int a,int x,int b,int y){
        int d=0;
        int count = 0;
        if(a*x<k) 
             d = x;
        else
             d = k/a;// 歌曲A的个数
        for(int i =0;i<=d;i++){
            int cb = (k-i*a)/b;
            if(cb>y||(k-i*a)%b !=0)//注意y的选择和整除
                continue;
            count += (getjs(x)/(getjs(i)*getjs(x-i))* getjs(y)/(getjs(cb)*getjs(y-cb)))%1000000007;
        }
        
        return count;
    }
    
    public static int getjs(int n){
        if(n==0) 
            return 1;
        int cj = 1;
        for(int i=1;i<=n;i++){
            
            cj *= i;
        }
        return cj;
        
    }
}