Recent Posts
Recent Comments
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- dp
- Visual Studio Code
- 다이나믹 프로그래밍
- baek joon
- 배틀
- dynamic programming
- C++
- BOJ
- BFS
- 비주얼 스튜디오 코드
- ubuntu
- 백준
- 동적계획법
- 알고리즘
- filezila server
- simulation
- 시뮬레이션
- 우분투
- 춤
- 그래프
- 넓이 우선 탐색
- sw expert academy
- 공연
- dfs
- 삼성 알고리즘
- Graph
- 아파치
- Algorithm
- cube sound
- apache
Link
댄코 - 댄싱코딩
[1463] 1로 만들기 본문
이전 문제들은 최대,최솟값을 구하는 문제였는데 연산횟수를 구하라해서 당황했다.
using namespace std;
int main(){
int N = 0;
int dp[1000000]={0,0,1,1,};
scanf("%d",&N);
for(int i = 4;i<=N;i++){
if(i%3==0){
dp[i] = min(dp[i/3],dp[i-1])+1;
}else if(i%2 == 0){
dp[i] = min(dp[i/2],dp[i-1])+1;
}else{
dp[i] = dp[i-1]+1;
}
}
printf("%d\n",dp[N]);
}
'코딩 > 알고리즘' 카테고리의 다른 글
[9251] LCS (0) | 2017.07.01 |
---|---|
[2965] 캥거루 세마리 (0) | 2017.06.30 |
[2579] 계단오르기 (0) | 2017.06.30 |
[1932] 숫자삼각형 (0) | 2017.06.30 |
[1149] RGB거리 (0) | 2017.06.30 |
Comments