BOJ 1697 숨바꼭질

Jmnote (토론 | 기여)님의 2023년 11월 23일 (목) 02:28 판 (→‎같이 보기)

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