From e0168abb84e121172546e2fdbcdcf5deb035cb11 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Sat, 29 Nov 2025 22:07:38 +0900 Subject: [PATCH] =?UTF-8?q?[20251129]=20BOJ=20/=20G4=20/=20=EB=A1=9C?= =?UTF-8?q?=EB=98=90=20/=20=EC=9D=B4=EC=9D=B8=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../29 BOJ \353\241\234\353\230\220.md" | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "LiiNi-coder/202511/29 BOJ \353\241\234\353\230\220.md" diff --git "a/LiiNi-coder/202511/29 BOJ \353\241\234\353\230\220.md" "b/LiiNi-coder/202511/29 BOJ \353\241\234\353\230\220.md" new file mode 100644 index 00000000..9f74224c --- /dev/null +++ "b/LiiNi-coder/202511/29 BOJ \353\241\234\353\230\220.md" @@ -0,0 +1,39 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + int T = Integer.parseInt(st.nextToken()); + while(T-- > 0){ + st = new StringTokenizer(br.readLine()); + int n = Integer.parseInt(st.nextToken()); + int m = Integer.parseInt(st.nextToken()); + long[][] dp = new long[n + 1][m + 1]; + for(int j = 1; j <= m; j++){ + dp[1][j] = 1; + } + + for(int k = 2; k <= n; k++){ + for(int j = 1; j <= m; j++){ + long sum = 0; + for(int prev = 1; prev * 2 <= j; prev++){ + sum += dp[k-1][prev]; + } + dp[k][j] = sum; + } + } + long answer = 0; + + + for(int j = 1; j <= m; j++){ + answer += dp[n][j]; + } + System.out.println(answer); + } + } +} + +```