Tiny Bunny
본문 바로가기
Algorithm/Python

[SWEA #12397] 스택1 - 종이 붙이기

by nowag 2024. 2. 13.

문제

어린이 알고리즘 교실의 선생님은 경우의 수 놀이를 위해, 그림처럼 가로x세로 길이가 10x20, 20x20인 직사각형 종이를 잔뜩 준비했다.   

그리고 교실 바닥에 20xN 크기의 직사각형을 테이프로 표시하고, 이 안에 준비한 종이를 빈틈없이 붙이는 방법을 찾아보려고 한다. N이 30인 경우 다음 그림처럼 종이를 붙일 수 있다.

10의 배수인 N이 주어졌을 때, 종이를 붙이는 모든 경우를 찾으려면 테이프로 만든 표시한 영역을 몇 개나 만들어야 되는지 계산하는 프로그램을 만드시오. 직사각형 종이가 모자라는 경우는 없다.

 

입력

다음 줄부터 테스트 케이스 별로 N이 주어진다. 10≤N≤300, N은 10의 배수

 

출력

각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.

 

내가 쓴 코드

T = int(input())
for t in range(T):
    N = int(input())    # 10의 배수
    n = N // 10

    # 점화식을 for 문으로 쓰기
    paper = [0] * 31
    paper[1] = 1
    paper[2] = 3
    for i in range(3, n+1):
        paper[i] = paper[i-1] + paper[i-2] * 2

    print(f'#{t+1} {paper[n]}')

 

출력 결과

#1 5

#2 21

#3 85

728x90
반응형

'Algorithm > Python' 카테고리의 다른 글

[SWEA #2005] 파스칼의 삼각형  (0) 2024.02.13
[BOJ #11727] 2xn 타일링 2  (1) 2024.02.13
[BOJ #2562] 최댓값  (1) 2024.02.09
[BOJ #11720] 숫자의 합  (1) 2024.02.09
[BOJ #2798] 블랙잭  (3) 2024.02.09