"BOJ 1697 숨바꼭질"의 두 판 사이의 차이

 
1번째 줄: 1번째 줄:
==개요==
==개요==
[[분류: 그래프 이론]]
{{BOJ|단계=31
[[분류: 그래프 탐색]]
|분류1=그래프 이론
[[분류: 너비 우선 탐색]]
|분류2=그래프 탐색
{{BOJ|단계=31}}
|분류3=너비 우선 탐색
}}


==같이 보기==
==같이 보기==

2024년 2월 3일 (토) 13:04 기준 최신판

1 개요[ | ]

BOJ 1697 숨바꼭질

2 같이 보기[ | ]

3 C++[ | ]

#include <bits/stdc++.h>
using namespace std;

int N, K;
int visited[100001] = {};

void bfs() {
    queue<int> q;
    q.push(N);
    visited[N] = 1;
    int x, nx;
    while(!q.empty()) {
        x = q.front();
        q.pop();
        for(int i=0; i<3; i++) {
            if(i==0) nx = x-1;
            else if(i==1) nx = x+1;
            else nx = x*2;
            if(nx<0 || nx>100000 || visited[nx]>0) continue;
            q.push(nx);
            visited[nx] = visited[x]+1;
            if(nx == K) return;
        }
    }
}

int main() {
    cin >> N >> K;
    bfs();
    cout << visited[K]-1;
}