segmentation fault 나는지 알려줘바라 


제발 씨발


어차피 코딩테스트 안본다니까 올려도 상관없지??


한문제도 못풀었다 시발


밑에 입력 


알려줘 제발 나도 취직좀하자


5

F1 B1 R1 L2 F1

F1 L2 L1 L2 F1

F1 B1 B1 L2 F1

F1 L2 R1 L2 F1

L3 L1 B2 L3 B1



#include

#include

#include



using namespace std;


int main() {

    int n;

    cin >> n;

    vector > dir(n, vector(n));

    vector > dis(n, vector(n));

    vector > > status;

    status.assign(n, vector >(n, vector (4, 0))); //status[x][y][i] 는 (x,y) 좌표에 i방향으로 방문한 적 있음을 나타냄. 0='F' 1='R' 2='L' 3 ='B'

    for (int x = 0; x

        for (int y = 0; y

            string node;

            cin>>node;

            

            switch (node[0]) {

case 'F':

dir[x][y] = 0;

break;

case 'R':

dir[x][y] = 1;

break;

case 'L':

dir[x][y] = 2;

break;

case 'B':

dir[x][y] = 3;

break;

}


            dis[x][y] = node[1];

            

        }

    }

    

    int x=0;    // current x coordinate

    int y=0;

    int cur_dir = 3; //F,R,L,B = 0,1,2,3

    

    while (1) {

status[x][y][cur_dir] = 1 ;

switch (cur_dir) {

case 0:

cur_dir = dir[x][y];

break;

case 1:

cur_dir = (dir[x][y] + 1)%4;

break;

case 2:

cur_dir = (dir[x][y] + 3)%4;

break;

case 3:

cur_dir = (dir[x][y] + 2)%4;

break;

}

switch (cur_dir) {

case 0:

    y = y - dis[x][y];

break;

case 1:

x = x + dis[x][y];

break;

case 2:

x = x - dis[x][y];

break;

case 3:

y = y + dis[x][y];

break;

}

if (status[x][y][cur_dir] == 1) {

cout <

break;

}

}

cout << "Fuck" <

cin >> n;

    return 0;

}