같은 경로 중복하는걸 어떻게 찾아내는지 모르겠다
vector 쓰면 시간초과 걸리고 어떻게 같은경로 걸러냈냐??
각 칸의 4 방향에서 오는걸 각각 기록한다고 생각하세용
그 기록을 어떻게 저장해야되는지 모르겠어요 [500][500][4] 로 저장하면 한번밖에 기록이 안되고 너무 머리가 복잡하네요
한번밖에 기록이 안되는게 문제가될이유가있나요? 어차피 2번이상 방문할일이없는데
님이 생각한대로저장하시면되용
SL LR이였나? 그럼 총 4*4 = 16 번 저장해야되지 않나요?? [y][x][방향] 에 방향값을 저장한다면 [16][y][x][방향] 이렇게 저장해서 같은지 판단해야되지 않나요?? 근데 4차원 배열은 아닌거 같은데
음... 말하는게뭔지 잘이해가안되네용 왜 16번저장해야되는지 모르겠지만 결론적으로는 500 500 4면 충분해용
예를들어서 s의 밑에서 출발한게 쭉 가다가 다시 s의 밑으로 돌아오면 사이클이 완성된거에용
y,x라는점에 a방향으로 서있었다면 visit[y][x][a]=1로 체크해서 다시는 그 방향으로 서있을 수 없다고 생각하셈 - dc App
이해가 안되는게 R R 있으면 총 8번 나와야 되잖아 근데 답은 2개야 나머지 6개는 어떻게 없앤거야??
117.111 이 6개를 없앤 거를 잘 설명해준거임. 모르겠으면 관련 문제를 더 풀어보도록
사이클있으면 판단이 되는데 사이클 없는건 탈출을 어떻게 해 ?
싸이클이 없는지 판단은 어떻게함??
사이클이 없는 경우는 없음
나도 궁금
그러니까 싸이클 없는 경우를 어떻게 알아??
사이클이 없는 경우는 없어 ???
사이클이 없으려면 어느 한 지점에서는 결국 멈춰야 하는데 빛은 어떤 방향으로 어떤 장소에 도착하더라도 항상 입/출을 하기 때문임. 좀 수학스럽게 말하면 그래프로 모델링했을 때 끝나는 점이 없음
사이클이 없으려면 어느순간 멈춰야 하는데 맵을 벗어나도 돌아오기 때문에 영원히 일정 경로로 움직일 수밖에 없음 - dc App
오키 땡큐 사이클은 항상 존재하네 ㅋㅋ
2차원을 1차원으로 낮추면 더 쉬워진다. [0][0] -> 0, [0][1] -> 1 , [i][j] -> i*col + j 이렇게 낮출수 있는데 이러면 존나쉽다. 다시 2차원으로 올릴때는 행은 col로 나누고, 열은 col로 나머지하면 됨. 코테 꿀팁임
동일한 싸이클인지 판단은 어떻게 하나요??
1차원 배열로 낮추면 각노드가 1,2,3 이런식으로 번호가 매겨지는 셈인데 visited[노드번호][방향]해서 방문하면 true로 두고 다시방문하면 break 하면됨. 다시방문이 동일한 싸이클임을 검증해준다
와 시발 이제야 이해됐다 같은 방향으로 다시한번 서게되면 똑같이 진행 되므로 [500][500][4]로 체크하는구나 이렇게 이해했는데 맞냐??
맞음
이런 생각은 어떻게하냐?? 나는 똑같이 다시 서도 다른 방향에서 들어온거면 다른 경로가 된다 생각했는데 왜 다른 경로에서 들어오더라도 같은 방향이면 같은 싸이클로 취급하냐??
S,L,R이 움직일수 있는 방향은 항상 정해진 1방향 뿐이잖아. 그니까 결과도 특정 노드,방향에 대해서 한가지임. 다른 경로에서 온다는 가정이 없지 항상 한가지경우의 순데
와.. 자세한 답변 고맙다
각 칸의 4 방향에서 오는걸 각각 기록한다고 생각하세용
그 기록을 어떻게 저장해야되는지 모르겠어요 [500][500][4] 로 저장하면 한번밖에 기록이 안되고 너무 머리가 복잡하네요
한번밖에 기록이 안되는게 문제가될이유가있나요? 어차피 2번이상 방문할일이없는데
님이 생각한대로저장하시면되용
SL LR이였나? 그럼 총 4*4 = 16 번 저장해야되지 않나요?? [y][x][방향] 에 방향값을 저장한다면 [16][y][x][방향] 이렇게 저장해서 같은지 판단해야되지 않나요?? 근데 4차원 배열은 아닌거 같은데
음... 말하는게뭔지 잘이해가안되네용 왜 16번저장해야되는지 모르겠지만 결론적으로는 500 500 4면 충분해용
예를들어서 s의 밑에서 출발한게 쭉 가다가 다시 s의 밑으로 돌아오면 사이클이 완성된거에용
y,x라는점에 a방향으로 서있었다면 visit[y][x][a]=1로 체크해서 다시는 그 방향으로 서있을 수 없다고 생각하셈 - dc App
이해가 안되는게 R R 있으면 총 8번 나와야 되잖아 근데 답은 2개야 나머지 6개는 어떻게 없앤거야??
117.111 이 6개를 없앤 거를 잘 설명해준거임. 모르겠으면 관련 문제를 더 풀어보도록
사이클있으면 판단이 되는데 사이클 없는건 탈출을 어떻게 해 ?
싸이클이 없는지 판단은 어떻게함??
사이클이 없는 경우는 없음
나도 궁금
그러니까 싸이클 없는 경우를 어떻게 알아??
사이클이 없는 경우는 없어 ???
사이클이 없으려면 어느 한 지점에서는 결국 멈춰야 하는데 빛은 어떤 방향으로 어떤 장소에 도착하더라도 항상 입/출을 하기 때문임. 좀 수학스럽게 말하면 그래프로 모델링했을 때 끝나는 점이 없음
사이클이 없으려면 어느순간 멈춰야 하는데 맵을 벗어나도 돌아오기 때문에 영원히 일정 경로로 움직일 수밖에 없음 - dc App
오키 땡큐 사이클은 항상 존재하네 ㅋㅋ
2차원을 1차원으로 낮추면 더 쉬워진다. [0][0] -> 0, [0][1] -> 1 , [i][j] -> i*col + j 이렇게 낮출수 있는데 이러면 존나쉽다. 다시 2차원으로 올릴때는 행은 col로 나누고, 열은 col로 나머지하면 됨. 코테 꿀팁임
동일한 싸이클인지 판단은 어떻게 하나요??
1차원 배열로 낮추면 각노드가 1,2,3 이런식으로 번호가 매겨지는 셈인데 visited[노드번호][방향]해서 방문하면 true로 두고 다시방문하면 break 하면됨. 다시방문이 동일한 싸이클임을 검증해준다
와 시발 이제야 이해됐다 같은 방향으로 다시한번 서게되면 똑같이 진행 되므로 [500][500][4]로 체크하는구나 이렇게 이해했는데 맞냐??
맞음
이런 생각은 어떻게하냐?? 나는 똑같이 다시 서도 다른 방향에서 들어온거면 다른 경로가 된다 생각했는데 왜 다른 경로에서 들어오더라도 같은 방향이면 같은 싸이클로 취급하냐??
S,L,R이 움직일수 있는 방향은 항상 정해진 1방향 뿐이잖아. 그니까 결과도 특정 노드,방향에 대해서 한가지임. 다른 경로에서 온다는 가정이 없지 항상 한가지경우의 순데
와.. 자세한 답변 고맙다