[BOJ] 1562번: 계단 수

https://www.acmicpc.net/problem/1562


D[i][j][k]를 i자리, 끝자리가 j, 사용된 숫자의 상태가 k인 갯수로 사용했습니다. 상태는 0~9를 bitmask로 저장했습니다. 이 때

D[i][j][k] = D[i-1][j - 1][k]+D[i-1][j - 1][k ^ bit_digit(j)]+D[i-1][j + 1][k]+D[i-1][j + 1][k ^ bit_digit(j)] 가 됩니다.


이외에도 초기값 a에 대해 +1, -1을 해준다는 관점에서 아무리 작아져도 -a, 아무리 커져도 9 범위 안에서 움직이는 경우의 수라는 관점에서 어떻게 잘 해볼 수 있을 것 같았는데 잘 안됐습니다.


https://github.com/blisstoner/BOJ/blob/master/1562.cpp

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 11585번: 속타는 저녁 메뉴  (0) 2018.04.26
[BOJ] 9661번: 돌 게임 7  (0) 2018.04.26
[BOJ] 9660번: 돌 게임 6  (0) 2018.04.26
[BOJ] 1305번: 광고  (0) 2018.04.26
[BOJ] 1179번: 마지막 조세퍼스 문제  (0) 2018.04.25
[BOJ] 11025번: 조세퍼스 문제 3  (2) 2018.04.25
  Comments