返回题解分享
讨论 / 题解分享/ 帖子详情

食堂(编程题) - 题解

视频中的标准程序代码如下:

import java.util.Scanner;

public class Main {
    static int a2, a3, a4, b4, b6, ans;

    static int check(int a2, int a3, int a4, int aa2, int aa3, int aa4) {
        int res = 0;
        for (int i = 1; i <= b4; i++) {
            if (a4 > 0) {
                a4--;
                res += 4;
            } else if (a2 >= 2) {
                a2 -= 2;
                res += 4;
            } else if (a3 > 0) {
                a3--;
                res += 3;
            } else if (a2 > 0) {
                a2--;
                res += 2;
            }
        }
        for (int i = 1; i <= b6; i++) {
            if (aa4 > 0 && aa2 > 0) {
                aa4--;
                aa2--;
                res += 6;
            } else if (aa3 >= 2) {
                aa3 -= 2;
                res += 6;
            } else if (aa2 >= 3) {
                aa2 -= 3;
                res += 6;
            } else if (aa3 > 0 && aa2 > 0) {
                aa3--;
                aa2--;
                res += 5;
            } else if (aa4 > 0) {
                aa4--;
                res += 4;
            } else if (aa2 >= 2) {
                aa2 -= 2;
                res += 4;
            } else if (aa3 > 0) {
                aa3--;
                res += 3;
            } else if (aa2 > 0) {
                aa2--;
                res += 2;
            }
        }
        return res;
    }

    static void solve(Scanner scanner) {
        ans = 0;
        a2 = scanner.nextInt();
        a3 = scanner.nextInt();
        a4 = scanner.nextInt();
        b4 = scanner.nextInt();
        b6 = scanner.nextInt();

        for (int i = 0; i <= a2; i++) {
            for (int j = 0; j <= a3; j++) {
                for (int k = 0; k <= a4; k++) {
                    int ii = a2 - i, jj = a3 - j, kk = a4 - k;
                    ans = Math.max(ans, check(i, j, k, ii, jj, kk));
                }
            }
        }
        System.out.println(ans);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int T = scanner.nextInt();
        while (T-- > 0) {
            solve(scanner);
        }
        scanner.close();
    }
}
0 回复 0 转发 0 喜欢 9 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!