계속해서 런타임 오류가 나네요...

  • heroicms
    heroicms

    너무 답답해서 글을 올립니다. 예제입력해 봤을 때는 답이 나오는데 채점하면 런타임 오류가 나네요

    804B 런타임 오류 재채점 요청

    에러 메시지
    RTE (SIGSEGV: segmentation fault, probably incorrect memory access)

    소스 코드

    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    
    int main()
    {
        int c, n, d, p, cnt, t, q[50], i, j, map[50][50];
        cin>>c;
        while(c--)
        {
            float day[50][100]={0.0};
            int today=0;
            cin>>n>>d>>p;
    
            for(i=0; i<n; i++)
            {
                for(j=0; j<n; j++)
                {
                    cin>>map[i][j];
                }
            }
            cin>>t;
            for(i=0; i<t; i++)
            {
                cin>>q[i];
            }
    
            day[0][p]=1;
            for(today=0; today<d; today++)
            {
                for(j=0; j<n; j++)
                    if(day[today][j]!=0)
                    {
                        cnt=0;
                        for(i=0; i<n; i++)
                        {
                            if(map[j][i]==1)
                                cnt++;
                        }
                        for(i=0; i<n; i++)
                        {
                            if(map[j][i]==1)
                                day[today+1][i]+=day[today][j]/cnt;
                        }
                    }
            }
            for(i=0; i<t; i++)
            {
                printf("%.8f ",day[d][q[i]]);
            }
            printf("\n");
        }
        return 0;
    }
    

    9년 전
1개의 댓글이 있습니다.
  • 일루
    일루

    로직에 문제가 없다는 전제하에 RTE가 나는 경우는 그리 많지 않습니다.

    배열 크기를 체크해보세요.


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