jyb1018   4년 전

다른 분들의 소스코드로 돌려보면서 결과를 비교해봤는데, 

정말 이해안되게도 N=100 인 단 하나의 경우에만 정답이 아닙니다.

이유가 알고 싶습니다.

prarie   4년 전

일단 문제는 fill 에 있는 것을 확인했습니다.

고치는 법은 모르겠습니다..

대안이라면, memset 을 이용하는 법이 있습니다.

memset(dp, -1, sizeof(dp)) (string.h)

또는 이중 for문을 쓰는 법이 있는데 memset 을 추천합니다..

prarie   4년 전

fill(&cache[0][0], &cache[100][9], -1);

fill 함수 같은 경우는 마지막 구간을 포함하지 않아서 그런 것 같네요

1. fill(&cache[0][0], &cache[100][9] + 1, -1);

2. fill(&cache[0][0], &cache[100][10], -1);

등으로 바꿔서 제출하면 AC가 뜨네요

한번 cache[100][9]를 출력해보시면 도움이 될 것 같습니다.

jyb1018   4년 전

@prarie 감사합니다! 배열의 end 포인터 값이 1차원과 다차원이 다르다는 사실을 처음 알았네요!

댓글을 작성하려면 로그인해야 합니다.