How We Coding

- 완탐 with DFS 유형의 문제인 것 같다.


- n제한은 작았다.


- 시간에 따라 좌표에 들어있는 값이 바뀌는게 독특했다.


RIGHT = 1

DOWN = 2

LEFT = 3

UP = 4


>> 4시간 주기라 모델 4가지를 모두 만들어 3차원 배열을 만들어 컨트롤 했다. int g[4][10][10];

>> void dfs(int y, int x, int ey, int ex, int time, int pos);


- 좌표가... 2차원 배열 기준 (2, 1)의 좌표를 (1, 2) 라고 표기가 되어있다. (이런 함정 제일 짜증난다...ㅜㅜ)

>> (x, y) 에서 y, x값만 바꾸면 되는데, 배열에 들어갈 값을 통채로 바꿔서 처리할려고 하느라 시간을 많이 썻다.


- 문제 특성상 테케만 다 맞아도 틀릴수가 없는 문제라고 생각되었다.

>> 근데 테케를 자꾸 통과하지 못하고 있었다.........


- 아무리 봐도 오류가 없어보이는데, 직접 테스트 할 수 없는 테케 4개의 정답이 틀리게 나온다....

- 시간은 흘러만 가고, 자괴감이 들기 시작했지만, 아직 시간이 많이 남아서 침착하게 뇌컴파일을 하고 있었다.(디버깅 할줄 모른다. 재귀함수라 별 의미도 없어 보인다..)


- 종료 20분전 예외처리를 잘못한 것을 찾아서..!!  고쳤더니 테케가 다 맞게 나왔다.

>> 단순히 해당 상태에 해당 좌표를 방문했을 경우 더이상 방문하지 않게 했었는데, 

     해당 상태에 대한 좌표를 현재 시간보다 빨리 방문했었다면, 볼필요가 없는 것으로(종료조건) 변경 하였다.

- 제자리 있는 경우도 처리를 해야하므로 가지 치기 필수..!! 

>> if(ans < time) return ;

>> 잠정적 으로 정해진 답보다 현재 진행 시간이 크면 볼 필요가 없기 때문..!! 


- 테케가 맞게 나오고 난 다음 여유가 좀 생겼던것 같다. 화장실도 다녀옴.

- 테케들의 특성을 잘 살펴보니 절대값의 차이가 2인 칸에 대해서만 이동을 할 수 있었던 것 같았다.


- 최근에 후배들 ps 입문시키느라 못풀면 어쩌지 하는 걱정이 산더미 같았는데, 이젠 맘놓고 결과만 기다리면 될 것 같다.

>> 진짜 시험은 B 형부터..ㅜ


- 또한 최근 후배들에게 dfs를 알려주고 있어서 그런지, dfs 에 대한 감만 있어 당연하게 dfs 로 풀었는데, 

  끝나고 버스타고 가면서 문제푼 학생들이 하는 얘기를 들어보면 bfs 도 많이 활용했던 것 같다.

  안될 건 없겠지만, 좌표값, 상태값, 그 상태에 대한 좌표를 몇번만에 왔는지, 이러한 정보를 큐에 담아야 하지 않을까란 생각이 들었다.



>> 3/16 합격 확인..!! 이제부터가 진짜..!!