-
백준 1697 -숨바꼭질백준 algorithm 2020. 7. 4. 13:50반응형
<code>
#include <iostream> #include <algorithm> #include <queue> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N, K; cin >> N >> K ; int dist[100001]={0}; bool check[100001];//갔다온지 확인하는 행렬 queue<int> q; q.push(N); check[N] = true; while(!q.empty()) { int now = q.front(); if(now == K) { cout << dist[now]<<'\n'; return 0;} q.pop(); if(now-1 >= 0) { if(check[now-1] == false) { q.push(now-1); check[now-1]= true; dist[now-1] =dist[now] +1; } } if(now+1 <= 100001) { if(check[now+1] == false) { q.push(now+1); check[now+1]= true; dist[now+1] =dist[now] +1; } } if(now*2 <= 100001) { if(check[now*2] == false) { q.push(now*2); check[now*2]= true; dist[now*2] =dist[now] +1; } } } return 0; }
반응형'백준 algorithm' 카테고리의 다른 글
백준 10989 - 수 정렬하기 3 (0) 2020.07.09 백준 1707 - 이분 그래프 (0) 2020.07.09 백준 15781 - 헬멧과 조끼 (0) 2020.07.04 백준 2960 - 에라토스테네스의 체 (0) 2020.07.04 백준 5585 - 거스름돈 (0) 2020.07.04