어읽로꾸거
BOJ 16953 A → B 본문
백준 16953 링크
https://www.acmicpc.net/problem/16953
해결과정
A에서부터 DFS로 탐색
범위에 맞지 않으면 버리기
코드
#include<iostream>
#include<queue>
using namespace std;
int main() {
//freopen("input.txt", "r", stdin);
long long a, b; cin >> a >> b;
queue <pair<long, long>> q;
q.push({ a,1 });
while (!q.empty()) {
long now = q.front().first;
long count = q.front().second;
q.pop();
if (now == b) {
cout << count;
return 0;
}
if (now * 2 <= b) {
q.push({ now * 2, count + 1 });
}
if (now * 10 + 1 <= b) {
q.push({ now * 10 + 1, count + 1 });
}
}
cout << -1;
}
'알고리즘' 카테고리의 다른 글
BOJ 16118 달빛여우 (0) | 2019.03.30 |
---|---|
BOJ 16469 소년 점프 (0) | 2019.03.28 |
BOJ 1932 정수 삼각형 (0) | 2019.03.26 |
BOJ 1620 나는야 포켓몬 마스터 이다솜 (0) | 2019.03.24 |
BOJ 2580 2239 스도쿠 (0) | 2019.03.23 |