拼多多7.25笔试第三题,样例只能本地过,大佬能看看吗

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] res = new int[n];
        for (int j = 0; j < n; j++) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int c = sc.nextInt();
            int q = sc.nextInt();
            boolean[] dp = new boolean[q + 1];
            dp[0] = true;
            if (q >= a) dp[a] = true;
            for (int i = 1; i <= q; i++) {
                if (i > b) {
                    if (i % c == 0) dp[i] = dp[i - b] || dp[i / c];
                    else dp[i] = dp[i - b];
                }
            }
            if (dp[q]) res[j] = 1;
            else res[j] = 0;
        }
        for (int i = 0; i < n; i++) {
            System.out.println(res[i]);
        }
    }
}
拼多多7.25笔试第三题,样例本地能过提交上去为0%,大佬能看看吗

#拼多多笔试##学习路径#
全部评论
你的思路跟我一模一样哈哈 我过了20% 然后就超时了
点赞 回复 分享
发布于 2021-07-26 00:28
和我的很像 我就过了5%,我猜是得用数学方法 不然就超时
点赞 回复 分享
发布于 2021-07-26 08:16
要用数论,C^n*A+m*B
点赞 回复 分享
发布于 2021-07-26 10:18

相关推荐

FFFcaptain328:入职即送东南亚腰子之旅👿
点赞 评论 收藏
分享
1 3 评论
分享
牛客网
牛客企业服务