본문 바로가기
JAVA

[백준] 1010번: 다리 놓기

by 동백05 2023. 7. 4.

https://www.acmicpc.net/problem/1010

 

1010번: 다리 놓기

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.

www.acmicpc.net

import java.util.Scanner;

public class july04 {
        static int[][] arr = new int [30][30];


        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            int T=sc.nextInt();
            int answer[]=new int[T];
            for(int i=0;i<T;i++){
                int N=sc.nextInt();
                int M=sc.nextInt();
                answer[i]=dp(M,N);
            }
            for(int i=0;i<T;i++){
                System.out.println(answer[i]);
            }
        }

        static int dp(int n,int m){
            if(arr[n][m]>0){
                return arr[n][m];
            }

            if(n==m || m==0){
                return arr[n][m]=1;
            }
            return arr[n][m]=dp(n-1,m-1)+dp(n-1,m);
        }


}

댓글