250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 백준
- 알고리즘개념
- 볼륨 만들기
- 백준13458
- 자바
- 완탐
- 완전탐색
- 정보처리기사
- 삼성역테
- 에라토스테네스의채
- 파티션 크기 조정
- 주사위굴리기2
- BFS
- 중복순열
- 중복조합
- 자바 코테
- Bfs와DFS
- 백준15652
- 코테준비
- 코테
- 재귀함수
- 순열
- 알고리즘
- 정올 1620
- D드라이브생성
- 23288
- 전화번호속의암호
- N과M
- 백준2251
- java
Archives
- Today
- Total
뚱땅뚱땅
[문제] 백준 2775번 부녀회장이 될테야 본문
728x90
* 출처: 백준 단계별로 풀어보기: 기본 수학1편
https://www.acmicpc.net/problem/2775
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int flat[][] = new int[15][14];
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(in.readLine());
init();
for (int i = 0; i < T; i++) {
int k = Integer.parseInt(in.readLine());
int n = Integer.parseInt(in.readLine());
System.out.println(flat[k][n-1]);
}
}
public static void init() {
for(int i=0;i<14;i++) {
flat[0][i] = i+1;
}
for(int i = 1;i<15;i++) {
for(int j=0;j<14;j++) {
people(flat,i,j);
}
}
}
static void people(int[][] m, int k, int n) {
if(k==0) return;
if(n==0) {
m[k][n] = 1;
return;
}
for(int i=0;i<=n;i++) {
m[k][n] += m[k-1][i];
}
}
}
나는 우선 matrix를 전체 초기화했는데, 굳이 그럴 필요는 없다.
그냥 입력받는대로 계산하면 된다..
f(k,n) = f(k-1,0) + f(k-1, 1) + ... + f(k-1,n) 을 어떻게 해야할지 몰라서 함수를 일단 만들어서 초기화한건데,
f(k-1,0) + f(k-1,1) + ...+ f(k-1,n-1) = f(k, n-1) 이므로
f(k,n) = f(k,n-1)+f(k-1,n) 만 해주면 되는거였다!
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[문제] 백준 11653번 소인수분해 (0) | 2021.01.30 |
---|---|
[문제] 백준 2581번 소수 (0) | 2021.01.30 |
[문제] 백준 2839번 설탕 배달 (0) | 2021.01.25 |
[문제] 백준 10757번 큰 수 A+B (0) | 2021.01.25 |
[문제] 백준 10250번 ACM 호텔 (0) | 2021.01.25 |
Comments