-
백준 1463번 C++ 풀이백준 2018. 8. 19. 17:58반응형
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;
int buffer[1000005];
int main() {
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
buffer[1] = 0;
buffer[2] = 1;
buffer[3] = 1;
if (n <= 3){
cout << buffer[n];
}else {
for (int i = 4 ; i <= n ; i++){
priority_queue<int, vector<int>, greater<int>> queue;
if ( i % 2 == 0){
queue.push(buffer[i /2]+1);
}
if (i % 3 == 0){
queue.push(buffer[i / 3]+1);
}
queue.push(buffer[i-1]+1);
buffer[i] = queue.top();
}
cout << buffer[n];
}return 0;
}반응형'백준' 카테고리의 다른 글
백준 10844번 C++ 풀이 (0) 2018.08.20 백준 2579번 C++ 풀이 (0) 2018.08.19 백준 2748번 풀이 (0) 2018.08.19 백준 1932번 C++ 풀이 (0) 2018.08.19 백준 10866번 C++ 풀이 (0) 2018.08.19