티스토리 뷰

Problem Solving

boj 2248 : 이진수 찾기

1ssrek 2016. 8. 24. 18:21

boj 2248 : 이진수 찾기


https://www.acmicpc.net/problem/2248


처음에 단순 완전 순열 탐색 DFS로 찾으니 역시나 시간초과. ㅜㅜ

다른방법을찾았다.


1. 맨 앞에 1을 두고 나머지 자리수를 0으로 채우면 최소 몇번째 숫자일까?

2. 맨 앞에 0을 두고 나머지 자리수를 0으로 채우면 최소 몇번째 숫자일까?


위의 1,2 두가지의 값으로 찾았다.


1. N, K : 각각 남은 자릿수, 남은 1의 갯수

2. a[N][K] : N의 자리에 1을 채우고 나머지를 0으로 채웠을 때 몇번째 값인지?

3. a[N][K] = sum{ (N-1,0) ~ (N-1,K) } : (i,j) 는 iCj (i combination j)


a[N][K]가 주어진 I보다 작거나 같으면 N의 자리에 1을 채우고, 그렇지 않으면 0을 채우는 방법으로 문제를 해결할 수 있었다.


'Problem Solving' 카테고리의 다른 글

boj 10836 : 여왕벌  (0) 2016.08.26
boj 10571 : Diamonds  (1) 2016.08.26
boj 12019 : 동아리방 청소!  (0) 2016.08.24
boj 2253 : 점프  (0) 2016.08.24
boj 10158 : 개미  (0) 2016.08.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 31
글 보관함