Skip to content

Commit 5c53000

Browse files
committed
[BOJ] #12849. 본대 산책 / 실버1 / 60분 / 실패
1 parent e88a523 commit 5c53000

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
D = int(input()) # 산책할 총 시간 D분
2+
dp = [0] * 8 # 건물 8개에 대해 경로 수를 저장할 배열 초기화
3+
dp[0] = 1 # 정보과학관(0번 건물)에서 출발하므로 초기값은 1
4+
5+
# D분 동안 경로 수를 계산
6+
for i in range(D):
7+
tmp = [0] * 8 # 이번 시간의 경로 수를 임시 저장할 배열
8+
9+
# 각 건물에 대해 이전 시간에 가능한 경로 수를 누적
10+
tmp[0] = dp[1] + dp[2] # 정보과학관으로 가는 경로
11+
tmp[1] = dp[0] + dp[2] + dp[3] # 전산관으로 가는 경로
12+
tmp[2] = dp[0] + dp[1] + dp[3] + dp[4] # 미래관으로 가는 경로
13+
tmp[3] = dp[1] + dp[2] + dp[4] + dp[5] # 신앙관으로 가는 경로
14+
tmp[4] = dp[2] + dp[3] + dp[5] + dp[6] # 한경직기념관으로 가는 경로
15+
tmp[5] = dp[3] + dp[4] + dp[7] # 형남공학관으로 가는 경로
16+
tmp[6] = dp[4] + dp[7] # 진리관으로 가는 경로
17+
tmp[7] = dp[5] + dp[6] # 학생회관으로 가는 경로
18+
19+
# tmp에 저장된 값을 dp로 옮기며, 큰 수를 방지하기 위해 모듈러 연산
20+
for i in range(8):
21+
dp[i] = tmp[i] % 1000000007
22+
23+
# D분 후에 다시 정보과학관(0번 건물)에 도착하는 경우의 수 출력
24+
print(dp[0])

0 commit comments

Comments
 (0)