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

  • User Avatar
    heroicms

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

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

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

    소스 코드
    ~~~c++
    #include
    #include

    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;
    

    }
    ~~~


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

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

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


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