본문 바로가기
반응형

경우의 수2

[C/C++] 백준 #2133 타일 채우기(동적 계획법) #2133 타일 채우기 문제는 동적 계획법을 이용해서 풀 수가 있습니다. 하지만 원리만 알면 조금 더 쉬운 방법으로도 해결할 수가 있습니다. https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 문제는 3xn 공간을 2x1 타일로 채우는 경우의 수를 구하라는 문제입니다. 아주 간단하지만 n이 홀수인 경우에는 채울 수 있는 방법이 없습니다. n이 짝수인 경우에만 채울 수 있는 경우가 발생하죠. 저는 동적 프로그래밍을 하기 위해서 다음과 같은 경우를 생각했습니다. 마지막 칸에 나올 수 있는 패턴들입니다. 마지막 칸의 패턴은 아무것도 없는 상태, 맨 위에만 한칸 채.. 2023. 4. 8.
동전을 n번 던졌을 때, 연속으로 앞면이 나타날 경우의 수는? 이런 경우의 수를 계산하는 것이 쉽지는 않습니다. 어떻게 생각을 해야 하는지가 중요하죠. 동전을 n번 던졌을 때의 경우의 총 수는 \(2^n\)입니다. 연속으로 앞면이 나타날 경우의 수는 총 경우의 수에서 연속으로 앞면이 나타나지 않을 경우의 수를 빼면 됩니다. 그러면 연속으로 앞면이 나타나지 않는 경우의 수를 어떻게 계산할까요? 수열을 만드는 과정을 생각해보죠. 동전의 뒷면을 0으로 앞면을 1로 가정을 해보도록 합니다. 4번 동전을 던진다면, 1이 연속으로 나타나는 경우의 수는 0011, 0110, 0111, 1011, 1100, 1101, 1110, 1111 으로 총 8가지입니다. 컴퓨터로 모든 경우의 수에 대해서 연속 1이 나오는지 카운팅하면 되겠지만, 수학적으로는 어떻게 풀까요? 수열을 만들때, .. 2019. 12. 29.
728x90