본문 바로가기

Coding/백준

2698번 인접한 비트의 개수

끝나는 지점에 어떤 수가 오는지 계산하면 된다.

 

예를 들어 val[n][k][0]이라는 것은 n개의 숫자의 인접한 비트의 개수가 k개이며 마지막에 0으로 끝난다는 뜻이다.

 

그렇다면 val[n][k][0]의 값은 val[n-1][k][0]과 val[n-1][k][0]을 더해서 나타낼 수 있고

val[n][k][1]의 값은 val[n-1][k][0]과 val[n-1][k-1][1]의 합으로 나타낼 수 있다.

(val[n-1][k-1][1] -> 마지막에 1과 1이 만나서 +1이 되므로)

 

 

 

 

 

 

이 식을 이용해 풀면 된다.

 

'Coding > 백준' 카테고리의 다른 글

1991번 트리 순회  (0) 2019.09.29
1525번 퍼즐  (0) 2019.09.25
3055번 탈출  (0) 2019.09.24
11778번 피보나치 수와 최대공약수  (0) 2019.09.23
13976번 타일 채우기 2  (0) 2019.09.23