https://www.acmicpc.net/problem/16397
[난이도] Gold4
[유형] BFS
[풀이]
전형적인 BFS 문제이다.
#include <cstdio>
#include <queue>
#include <string>
#include <algorithm>
using namespace std;
const int mxN=1e5;
int N,T,G;
bool visit[mxN];
int main(){
scanf("%d%d%d",&N,&T,&G);
queue<int> q;
q.push(N);
visit[N]=1;
int cnt = 0;
while(!q.empty()){
int sz = q.size();
while(sz--){
int qf = q.front(); q.pop();
if(qf==G) {
printf("%d",cnt);
return 0;
}
if(qf+1<mxN){
if(!visit[qf+1]) {
visit[qf+1]=1;
q.push(qf+1);
}
}
if(qf*2<mxN){
int t=0;
if(qf*2!=0){
string a = to_string(qf*2);
a[0]--;
t = stoi(a);
}
if(!visit[t]){
visit[t]=1;
q.push(t);
}
}
}
cnt++;
if(cnt>T) break;
}
puts("ANG");
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Gold4/16397.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Gold4] 1344 : 축구 (C++) (0) | 2021.01.13 |
---|---|
[BOJ/백준][Gold4] 7573 : 고기잡이 (C++) (0) | 2021.01.06 |
[BOJ/백준][Gold4] 14863 : 서울에서 경산까지 (C++) (0) | 2021.01.02 |
[BOJ/백준][Gold4] 3584 : 가장 가까운 공통 조상 (C++) (0) | 2021.01.02 |
[BOJ/백준][Gold4] 10836 : 여왕벌 (C++) (0) | 2020.12.30 |