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를 입력하면

캡처.JPG위의 오류가 나고

n=2, m=1 을 입력하면 

캡처2.JPG위의 오류가 나옵니다.

아마 제가 2차원배열을 생성하고 값을 입력하는 과정에서 memory할당에 대한 문제가 있는 것같은데

제힘으로는 도저히 찾을 수가 없습니다.

도와주세요~ 

kesakiyo   7년 전

n과 m을 바꿔서 동적할당 해주신것 같네요.


jhoon   7년 전

n,m을 바꾸어서 해도 똑같네요 ㅠㅜ

kesakiyo   7년 전

n, m을 바꾸면 중간에 코드들고 바꿔야 할 부분들이 있는데 모두 바꾸셨나요?

thomashan91   7년 전

굳이 동적할당이 필요 없는 문제입니다.

메모지를 들고 2*3, 3*4, 4*5의 초콜릿을 그리신 뒤 자르는 횟수를 세보시면 바로 답이 나올겁니다.

jhoon   7년 전

네 n,m을 바꾸고 중간에 코드도 바꾸었는데 안되네요ㅜㅠ

아그리고 이건 풀었는데 2차원동적할당에 대해 더 정확하게 할고싶어서 질문했습니다. ^^

kesakiyo   7년 전

@jhoon 혹시 바꾼 코드를 올려주실 수 있나요?

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