문제
라스칼의 삼각형은 파스칼의 삼각형과 비슷하다.
라스칼의 삼각형에서 가장 윗 줄은 0번 줄이다. i번째 줄에는 i+1개의 숫자가 들어있고, 차례대로 0번부터 i번이다. R(i,j)는 i번 줄의 j번째 숫자이다.
R(n,m) = 0 (n<0 or m<0 or m>n)
각 줄의 첫 번째와 마지막 숫자는 1이다.
R(n,0) = R(n,n) = 1
나머지 값을 채우는 방법은 (서쪽값 * 동쪽값 + 1) / 북쪽값 이다.
이것을 수식으로 표현해보면 R(n+1,m+1) = (R(n,m) * R(n,m+1) + 1) / R(n-1,m) 이다.
라스칼의 삼각형에서 R(n,m)을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)이 주어진다. 각 테스트 케이스는 2개의 숫자 n과 m으로 이루어져 있다. (0 <= m <= n <= 50,000)
출력
각 테스트 케이스에 대해서 한 줄에 하나씩 R(n,m)을 출력한다.
힌트
풀이
//등차수열 변형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
for (int i = 0; i < t; i++) {
String[] temp = br.readLine().split(" ");
int n = Integer.parseInt(temp[0]);
int m = Integer.parseInt(temp[1]);
}
}
static int rascal(int n, int m) {
return 1 + (n - m) * m;
}
}
|
https://www.acmicpc.net/problem/2676
반응형
'Algorithms > BOJ[Java]' 카테고리의 다른 글
[백준/5533번] 유니크(JOI 2013)[Java] (0) | 2019.12.22 |
---|---|
[백준/15803번] PLAYERJINAH’S BOTTLEGROUNDS (2018 SCCC Programming Contest)[Java] (0) | 2019.12.21 |
[백준/7326번] Number Steps (Tehran Site 2000)[Java] (0) | 2019.12.17 |
[백준/10709번] 기상캐스터(JOI 2015)[Java] (0) | 2019.12.17 |
[백준/3034번] 앵그리 창영(COCI 2006/2007) [Java] (0) | 2019.12.17 |