본문 바로가기

2xN 타일링2

백준 11727번 (2xn 타일링 2) c++ https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 문제풀이 이전에 풀이했던 2xn 타일링을 보고 오면 훨씬 쉽게 이해할 수 있다. 이 문제는 DP를 이용하여 푸는 문제이다. 다른 많은 풀이 사이트에서는 단순히 DP[i] = DP[i-1] + (DP[i-2]*2) 라는 이유를 N에 따라 세어보았을 때 이게 말이 된다라는 식으로 많이 적어놓았다. 하지만 밑에 적어 놓은 것을 보면 제대로 된 규칙을 알 수 있다. DP[i-2] 에는 1x2인 2개의 타일과 2x2인 1개의 타일이 붙.. 2023. 6. 28.
백준 11726번 (2xn 타일링) c++ https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀이 이 문제는 DP를 이용하여 푸는 문제이다. 다른 많은 풀이 사이트에서는 단순히 DP[i] = DP[i-1] + DP[i-2] 라는 이유를 N에 따라 세어보았을 때 이게 말이 된다라는 식으로 많이 적어놓았다. 하지만 밑에 적어 놓은 것을 보면 제대로 된 규칙을 알 수 있다. DP[i-2] 에는 1x2인 2개의 타일이 붙고, DP[i-1] 에는 2x1인 1개의 타일이 붙은 두가지 경우의 수를 합치면 DP[i]가.. 2023. 6. 28.