아 그리고 아래 for문 부분도 %10억 해줬는데 안됩니다..
10844번 - 쉬운 계단 수
아 그리고 아래 for문 부분도 %10억 해줬는데 안됩니다..
아 죄송합니다;; 말을 명확하게 안했네요
재귀빠져나온후 처음 퀀티티는 10억으로 이미 나눠진 후라 메모를 더하고 10억으로 나누는 식으로 했습니다
아;; 잘못적었네요 21 23이라고 적어야하는데... 피곤해서 그만... 죄송합니다
n=4일때 1010 1012 1210 1211 1232 1234인데 디버깅해보니 개수가 5개만 나오네요.. 이게 반례인듯합니다
답변해주셔서 감사합니다!!
아 1211은 아니구나;; 쨌든 감사합니다 n=4 처음부터 세보겠습니다
댓글을 작성하려면 로그인해야 합니다.
asterisk120 5년 전
일단 알고리즘은
n이 2일때
10 12, 20, 22 , .... 이고
n이 3일때
101,120,123 , 210,212,232,234, ...
이렇게 되서 n=i일때 가장 상위 자릿수와 n이 i-1일때의 계단수중 차이가 1인 것들의 합이 n=i의 계단수를 이룬다는걸 깨닫고 점화식으로 만들었습니다
그리고 0으로 시작하는 수는 없지만 10이나 101같은걸 처리하기위해서 모든 자릿수의 0엔 1을 채워주었으며 마지막에 출력시 결과값에서 -1을 해주었습니다
memo[A][B]에서 A는 자릿수, B는 0부터 9까지 계단수의 개수입니다 (예를들어 memo[5][1]=은 5자리의 계단수중 1로 시작하는 계단수들의 수입니다)
그리고 점화식에서 더해갈시에 오버플로우를 막기위해 문제에서 나왔던 10억나누기를 해주었습니다
이렇게해서 결국 틀렸는데
점화식이 잘못된걸까요?? 어디가 틀린건가요??