BOJ 1697 숨바꼭질

Jmnote (토론 | 기여)님의 2023년 11월 14일 (화) 21:17 판 (새 문서: ==개요== 분류: 그래프 이론 분류: 그래프 탐색 분류: 너비 우선 탐색 {{BOJ|단계=31}} ==C++== <syntaxhighlight lang='cpp'> #include <bits/stdc++.h>...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

BOJ 1697 숨바꼭질


2 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;
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}