ccj 题解分享 · 2024/4/19
食堂(编程题) - 题解
``` import java.io.PrintWriter; import java.util.*; public class Main { static int N = 1000010; public static void main(String[] args) { Scanner f = new Scanner(System.in); PrintWriter w = new PrintWriter(System.out); int T = f.nextInt(); while (T-- > 0) { int a2 = f.nextInt(); int a3 = f.nextInt(); int a4 = f.nextInt(); int b4 = f.nextInt(); int b6 = f.nextInt(); int cnt = 0, ans = 0; cnt = Math.min(a4, b4); ans += cnt * 4; a4 -= cnt; b4 -= cnt; cnt = Math.min(a2 / 2, b4); ans += cnt * 4; a2 -= cnt * 2; b4 -= cnt; cnt = Math.min(a3, b4); ans += cnt * 3; a3 -= cnt; b4 -= cnt; cnt = Math.min(Math.min(a2, a4), b6); ans += cnt * 6; a4 -= cnt; a2 -= cnt; b6 -= cnt; cnt = Math.min(a2 / 3, b6); ans += cnt * 6; a2 -= cnt * 3; b6 -= cnt; cnt = Math.min(a3 / 2, b6); ans += cnt * 6; a3 -= cnt * 2; b6 -= cnt; if (a2 > 0 && a3 > 0) { cnt = Math.min(Math.min(a2, a3), b6); ans += cnt * 5; a3 -= cnt; a2 -= cnt; b6 -= cnt; } if (a4 > 0) { cnt = Math.min(a4, b6); ans += cnt * 4; a4 -= cnt; b6 -= cnt; } if (a3 > 0) { cnt = Math.min(a3, b6); ans += cnt * 3; a3 -= cnt; b6 -= cnt; } if (a2 > 0) { if (b6 > 0) { ans += a2 * 2; } } w.println(ans); } w.flush(); } } ```
查看全文
1 0 0 6
admin 题解分享 · 2024/4/17
食堂(编程题) - 题解
视频中的标准程序代码如下: ```java 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 10