[백준 - 2302번] 극장 좌석 - 자바(JAVA) 정리 & 1일 1DP - 8일차
2302번: 극장 좌석
주어진 조건을 만족하면서 사람들이 좌석에 앉을 수 있는 방법의 가짓수를 출력한다. 방법의 가짓수는 2,000,000,000을 넘지 않는다. (2,000,000,000 < 231-1)
www.acmicpc.net
어떤식으로 풀었는지?
이번 문제 역시 DP문제이다.
핵심은 결국에 고정된 VIP석을 제외한 나머지 가짓수에 대해서 곱으로 전체 경우를 구한다는 것.
두번째는 Vip좌석을 통해서 남겨진 좌석을 지정된 방법으로 섞었을때 가능한 경우의 수 찾는 것.
완벽하게 이문제를 풀지를 못했고, 이분의 블로그를 많이 참고해서 풀었다
http://blog.naver.com/occidere/220854811310
[백준] 2302 - 극장 좌석
문제 링크 : https://www.acmicpc.net/problem/2302이 문제는 몇가지 케이스에 대해 귀납적으로 풀어보면 ...
blog.naver.com
/** 2020. 2. 26. 오후 2:38:27 * @author ventulus95 */ package codeBaekJoon; import java.io.BufferedReader; import java.io.InputStreamReader; public class No2302_TheaterSeat { static int dp[] = new int [41]; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); dp[0] = 1; dp[1] = 1; dp[2] = 2; for(int i = 3; i<=T; i++){ dp[i] = dp[i-1]+dp[i-2]; } int n = Integer.parseInt(br.readLine()); int ans = 1; int start =0; int stop =0; for(int i=0; i<n; i++){ stop = Integer.parseInt(br.readLine()); ans *= dp[stop-start-1]; start = stop; } ans *= dp[T-stop]; System.out.println(ans); } }
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 - 16194번] 카드 구매하기 2 - 자바(JAVA) 정리 및 해설 & 1일 1DP - 10일차 (0) | 2020.02.29 |
---|---|
[백준 - 2225번] 합분해 - 자바(JAVA) 정리 및 해설 - 1일 1DP 9일차 (0) | 2020.02.27 |
[백준 - 1904번] 01타일 - 자바(JAVA) 정리 및 해설 &1일 1DP- 7일차 (2) | 2020.02.27 |
[백준 - 6359번] 만취한 상범 - 자바(JAVA) 정리 및 해설 & 1일 1DP -6일차 (0) | 2020.02.27 |
[백준 - 1699번] 제곱수의 합 - 자바(JAVA) 정리 & 1일 1 DP - 5일차 (0) | 2020.02.24 |
댓글을 사용할 수 없습니다.