2163번 - 초콜릿 자르기
행의수를 n 열의 수를 m으로 잡습니다. 그리고 초콜렛을 쪼갤때 나누어지는 부분을 더해서 자르는 횟수를 출력합니다.
예를들어 2*3이면
1 1 1
1 1 1 이므로
먼저
1 ^ 1 1
이렇게 두 부분으로 쪼개서 1*2, 2*2를 계산하고 +1을 해주는 방식입니다.
for문을 두개 이용하여 처음
dp[1][1] ~ dp[1][m] 까지 계산하고
dp[2][1] ~
dp[3][1] ~
...
dp[n][1] ~
이런식으로 계산하기 때문에 값은 모두 들어갑니다.
하지만 n=1, m=4를 입력하면
n=2, m=1 을 입력하면
아마 제가 2차원배열을 생성하고 값을 입력하는 과정에서 memory할당에 대한 문제가 있는 것같은데
제힘으로는 도저히 찾을 수가 없습니다.
도와주세요~
n과 m을 바꿔서 동적할당 해주신것 같네요.
n,m을 바꾸어서 해도 똑같네요 ㅠㅜ
n, m을 바꾸면 중간에 코드들고 바꿔야 할 부분들이 있는데 모두 바꾸셨나요?
굳이 동적할당이 필요 없는 문제입니다.
메모지를 들고 2*3, 3*4, 4*5의 초콜릿을 그리신 뒤 자르는 횟수를 세보시면 바로 답이 나올겁니다.
네 n,m을 바꾸고 중간에 코드도 바꾸었는데 안되네요ㅜㅠ
아그리고 이건 풀었는데 2차원동적할당에 대해 더 정확하게 할고싶어서 질문했습니다. ^^
@jhoon 혹시 바꾼 코드를 올려주실 수 있나요?
댓글을 작성하려면 로그인해야 합니다.
jhoon 7년 전
행의수를 n 열의 수를 m으로 잡습니다. 그리고 초콜렛을 쪼갤때 나누어지는 부분을 더해서 자르는 횟수를 출력합니다.
예를들어 2*3이면
1 1 1
1 1 1 이므로
먼저
1 ^ 1 1
1 ^ 1 1
이렇게 두 부분으로 쪼개서 1*2, 2*2를 계산하고 +1을 해주는 방식입니다.
for문을 두개 이용하여 처음
dp[1][1] ~ dp[1][m] 까지 계산하고
dp[2][1] ~
dp[3][1] ~
...
dp[n][1] ~
이런식으로 계산하기 때문에 값은 모두 들어갑니다.
하지만 n=1, m=4를 입력하면
위의 오류가 나고n=2, m=1 을 입력하면
위의 오류가 나옵니다.아마 제가 2차원배열을 생성하고 값을 입력하는 과정에서 memory할당에 대한 문제가 있는 것같은데
제힘으로는 도저히 찾을 수가 없습니다.
도와주세요~