s7d8f9   5년 전

밑의 코드에서 else 부분에서 arr[i]가 0인경우 터져야지 않나요?

밑의 코드도 통과가 되네요?...

mem[1][arr[i]]=(mem[0][arr[i]-1]+mem[0][arr[i]]+mem[0][arr[i]+1])%MOD;

djm03178   5년 전

C나 C++에서는 보통 배열의 index bound를 체크하지 않으며, 배열의 범위를 벗어난 메모리 위치를 접근하려 해도 그대로 접근하여 그에 있는 값을 씁니다. 프로그램의 메모리는 대체로 연속적으로 할당되므로 배열의 -1 인덱스는 여전히 그 프로그램에게 할당된 메모리일 가능성이 높고, 그 값이 0일 가능성은 매우 높습니다.

s7d8f9   5년 전

아하 감사합니다

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