IT/ps

백준 1309번 동물원

u149_cinderella 2025. 2. 4. 19:16

좀 헷갈렸는데 결국 한줄에 사자를 배치할 수 있는 경우의 수는 3개로 귀결된다.

풀면서 끄적인 것이다.

 

코드로 작성하면

import sys

n=int(sys.stdin.readline().rstrip())

v=[[0]*4 for _ in range(n+1)]
v[1][0]=3
v[1][1]=1
v[1][2]=1
v[1][3]=1

for i in range(2,n+1):
    v[i][1]=v[i-1][0]
    v[i][2]=v[i-1][0]-v[i-1][2]
    v[i][3]=v[i-1][0]-v[i-1][3]
    v[i][0]=(v[i][1]+v[i][2]+v[i][3])%9901

print(v[n][0])

이렇게 작성해줬다.

각행의 요소가 5개정도만 됐어도 반복문을 썼을거같은데 3개라 그냥 다적었다.

근데 뭐에 홀렸는지 처음에 10007로 나눈 나머지로 작성해서 한번 틀렸다. 문제를 제발 똑바로 읽자...