-> 상태값을 생각해내지 못했다.
이 때 상태값은 복귀하더라도 이미 완료된 state에는 변화를 주면 안되기 때문에 비트 연산자를 사용해야 한다!
visted 배열 만들 때 pos이외의 2가지 정보가 추가되야 한다.
1) 방향
2) 상태값 : 2개의 C를 방문해야 한다.
-> 가번 C를 방문 했는지, 나번 C를 방문했는지를 알아야 한다.
그리고 가번인지? 나번인지? 를 구분하기 위해서
가번 방문시에는 +1을 / 나번 방문시에는 +2를 증감하자.

방문한 위치에 대해서 다시 복귀를 해야 하는 경우가 존재할 수 있다.
이러한 경우

이렇게 가야 한다.

비트연산을 해야만, 이미 방문했는데 또 방문 한다고 하면,
해당 state 는 어차피 true 여야 한다.
위의 그림에서 비트 연산을 하지 않고, 증감한다면 어떻게 될까?

S -> C 로 갈때 1이 되었는데 또 아래에서 위로 올라가는 동작에서 1이 아닌 2가 되어 버린다...

3 5
##C##
#.C##
#..S#
ans -> 5