while (!q.empty()) { int x = q.front().first; int y = q.front().second; q.pop();
for (int i = 0; i < 6; i++) // 이동 가능한 모든 경우 확인 { int nx = x + dx[i]; int ny = y + dy[i];
if (nx >= 0 && ny >= 0 && nx < n && ny < n) // 범위 내에서 { if (check[nx][ny] == false) // 아직 확인하지 않은 경우 { q.push(make_pair(nx, ny)); check[nx][ny] = true; dist[nx][ny] = dist[x][y] + 1; // 다음 좌표 push 후 거리 추가 } } }