DIAMONDPATH 문제 컴파일러에서 이상없는데 제출하면 런타임에러 나네요

  • icbm
    icbm

    비쥬얼스튜디오 2013 릴리즈 모드로 작성해서 실행하면

    에러 없이 결과 값 잘 나오는데 여기에 답안 제출을 하면 런타임 에러가

    나오네요 에러 내용은 세그먼테이션 펄트 이거나 스택오버플로우 라고 하는데

    컴파일러에서 잘 작동하는데 왜 여기에 제출하면 에러가 나는지 잘모르겠습니다.

    아시는 분있으면 알려주세요!~

    #include<stdio.h>
    #pragma warning(disable:4996)
    int N, arr[100][100], output[100][100];
    int main(){
        int i, j, C, k;
        scanf("%d", &C);
        for (k = 0; k < C; k++){
            scanf("%d", &N);
            for (i = 0; i < N; i++){
                for (j = 0; j <= i; j++){
                    scanf("%d", &arr[i][j]);
                }
            }
            for (i = N; i < 2 * N - 1; i++){
                for (j = 0; j < 2 * N - 1 - i; j++){
                    scanf("%d", &arr[i][j]);
                }
            }
            output[0][0] = arr[0][0];
            for (i = 1; i < N; i++){
                for (j = 0; j <= i; j++){
                    if (j == 0)
                        output[i][j] = output[i - 1][j] + arr[i][j];
                    else if (i == j)
                        output[i][j] = output[i - 1][j - 1] + arr[i][j];
                    else if (j>0 && i != j){
                        if (output[i - 1][j] + arr[i][j] > output[i - 1][j - 1] + arr[i][j])
                            output[i][j] = output[i - 1][j] + arr[i][j];
                        else
                            output[i][j] = output[i - 1][j - 1] + arr[i][j];
                    }
                }
            }
            for (i = N; i < 2 * N - 1; i++){
                for (j = 0; j < 2 * N - 1 - i; j++){
                    if (output[i - 1][j] + arr[i][j] > output[i - 1][j + 1] + arr[i][j])
                        output[i][j] = output[i - 1][j] + arr[i][j];
                    else
                        output[i][j] = output[i - 1][j + 1] + arr[i][j];
                }
            }
            printf("%d\n", output[2 * N - 2][0]);
        }
        return 0;
    }
    

    9년 전
6개의 댓글이 있습니다.
  • Being
    Being

    http://stackoverflow.com/questions/9471837/what-is-the-difference-between-run-time-error-and-compiler-error


    9년 전 link
  • icbm
    icbm

    제 코드를 직접 보여드리고 싶은데 코드를 여기에 올려도 될까요? 동적계획법
    으로 풀었고 코드도 짧아서 보기 편하실거라 생각합니다.
    그리고 감사합니다. 런타임에러가 실행중에 나는에러고 컴파일 때는 나타나지 않는다는 점은 이해 했습니다.


    9년 전 link
  • Being
    Being

    네, 다른 글과질문 시 나타나는 주의사항을 참고하여 올려 주시기 바랍니다.


    9년 전 link
  • icbm
    icbm

    코드 올렸습니다.


    9년 전 link
  • JongMan
    JongMan

    배열 크기가 너무 작네요. NxN 보다 큰 배열이 필요합니다.


    9년 전 link
  • icbm
    icbm

    감사합니다!


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.