[Algorithm] 백준 17213번 - 과일 서리
문제 링크 : https://www.acmicpc.net/problem/1978
문제
민건이네 과일 농장은 N가지 종류의 과일을 재배하는 중이다. 평소 민건이에게 앙심을 품고 있던 지환이는 민건이를 골탕 먹이기 위하여 민건이네 과일 농장에서 과일들을 훔치기로 다짐했다. 지환이는 완벽한 범죄를 위하여 처음 생각한 개수 만큼만 훔치려고 한다. 이때 지환이가 훔칠 수 있는 경우의 수가 몇가지나 될 지 알아보자. 단, 모든 종류의 과일을 적어도 1개는 훔친다.
입력
첫째 줄에 과일의 종류 수 N(1 ≤ N ≤ 10)이 주어진다.
둘째 줄에 훔치려 하는 과일의 개수 M(N ≤ M ≤ 30)이 주어진다.
출력
첫째 줄에 훔칠 수 있는 경우의 수를 출력한다.
✍풀이
dp를 이용해 풀 수 있는 문제이고 규칙은
dp[i][j] += dp[i-1][1~j-1]
이다. 이중배열 루프와 합까지 동시에 구해야 하기 때문에 3중for문을 사용했다.
코드
//https://velog.io/@cjhlsb
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] dp = new int[n+1][m+1];
for(int i=1;i<=n;i++)
{
dp[i][i] = 1;
}
for(int i=1;i<=m;i++)
{
dp[1][i] = 1;
}
for(int i=2;i<=n;i++)
{
for(int j=i+1;j<=m;j++)
{
for(int k=1;k<j;k++)
{
dp[i][j] += dp[i-1][k];
}
}
}
System.out.println(dp[n][m]);
}
}
Author And Source
이 문제에 관하여([Algorithm] 백준 17213번 - 과일 서리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cjhlsb/Algorithm-백준-17213번-과일-서리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)