백준 1697번을 풀다 발견한 논리 오류다. 종종 발생할 수 있는 문제라 여겨 기록을 해둔다. 처음에는 이렇게 코드를 작성했다. 논리적으로는 알고리즘이 문제가 없어보이는데 계속 런타임 오류가 났다. #include #include #define MAX 100000 using namespace std; int S, D; int dx[3] = { 1,-1,2 }; bool visited[MAX] = { 0, }; queue q; void bfs() { int x=S, nx, level=0; q.push(x); visited[x]= true; while (!q.empty()) { int q_size = q.size(); while (q_size--) { x = q.front(); q.pop(); if (x =..