μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μ€λΈμ
- μ°μ μμν
- LIS
- λμ ν©
- κ·Έλν
- κΉμ΄μ°μ νμ
- db
- DFS
- μμꡬνκΈ°
- μν
- λ¨Έμ§μνΈ
- ν°μ€ν 리μ±λ¦°μ§
- μκ³ λ¦¬μ¦
- κ·Έλννμ
- λ°μ΄ν°λ² μ΄μ€
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- λμ κ³νλ²
- SQL
- λλΉμ°μ νμ
- νμ΄μ¬
- λ³ν©μ λ ¬
- DP
- μ λ ¬
- 그리λ
- λ°±μ€
- νλ‘κ·Έλλ¨Έμ€
- BFS
- μλ£κ΅¬μ‘°
- μμνμ
- ꡬν
πππ°πΈ π£πΆπ΅ π΄π΅π¦π’π₯πΊ
[λ°±μ€] 12852λ²: 1λ‘ λ§λ€κΈ° 2 - C++ λ³Έλ¬Έ
λ¬Έμ
μ μ Xμ μ¬μ©ν μ μλ μ°μ°μ λ€μκ³Ό κ°μ΄ μΈ κ°μ§ μ΄λ€.
- Xκ° 3μΌλ‘ λλμ΄ λ¨μ΄μ§λ©΄, 3μΌλ‘ λλλ€.
- Xκ° 2λ‘ λλμ΄ λ¨μ΄μ§λ©΄, 2λ‘ λλλ€.
- 1μ λΊλ€.
μ μ Nμ΄ μ£Όμ΄μ‘μ λ, μμ κ°μ μ°μ° μΈ κ°λ₯Ό μ μ ν μ¬μ©ν΄μ 1μ λ§λ€λ €κ³ νλ€. μ°μ°μ μ¬μ©νλ νμμ μ΅μκ°μ μΆλ ₯νμμ€.
μ λ ₯
첫째 μ€μ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 106λ³΄λ€ μκ±°λ κ°μ μμ°μ Nμ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ μ°μ°μ νλ νμμ μ΅μκ°μ μΆλ ₯νλ€.
λμ§Έ μ€μλ Nμ 1λ‘ λ§λλ λ°©λ²μ ν¬ν¨λμ΄ μλ μλ₯Ό 곡백μΌλ‘ ꡬλΆν΄μ μμλλ‘ μΆλ ₯νλ€. μ λ΅μ΄ μ¬λ¬ κ°μ§μΈ κ²½μ°μλ μ무거λ μΆλ ₯νλ€.
λμ κ³νλ²μ μ¬μ©νμ¬ ν μ μλ λ¬Έμ .
π 1463λ²: 1λ‘ λ§λ€κΈ° - C++
μλΆλΆμ΄ λμΌν λ¬Έμ μ΄κΈ° λλ¬Έμ μ΄κΈ° μ κ·Ό λ°©μμ μμ λ¬Έμ μ λμΌνκ² νλ©΄ λλ€.
λ€λ§ λμ§Έμ€μ Nμ 1λ‘ λ§λλ λ°©λ²μ ν¬ν¨λμ΄ μλ μλ₯Ό 곡백μΌλ‘ ꡬλΆν΄μ μΆλ ₯ν΄μΌνλ 쑰건λλ¬Έμ νμμ΄ νλ² λ€μ΄κ°κ² λλ€.
1λ‘ λ§λλ 쑰건μ λ§μ λ λ§λ€ λ Έλλ₯Ό μ°κ²°ν΄μ€ λ€, κ°λ¨ν DFSλ₯Ό ν΅ν΄ ν¬ν¨λμ΄ μλ μλ₯Ό μΆλ ₯ν΄μ£Όλ©΄ λλ€.
μ½λλ₯Ό λ κ°κ²°νκ² ν΄μ ν μ μλ λ°©λ²μ΄ μμν
λ° κ·Έλ₯ λλ λλ‘ νμ΄μ κ·Έλ°κ° μ½λκ° μ§μ λΆνλ€ .....
2μ 3 λμμ λλ λ¨μ΄μ§λ μλ₯Ό ꡬλΆνκΈ° μν΄ μ무 μκ° μμ΄ if - else ifλ‘ λΆκΈ°νλ€κ°λ 642κ°μ μμμ 걸릴 μ μκΈ° λλ¬Έμ μ μν΄μΌ νλ€.
μ½λ
#include <cstdio>
#include <vector>
#define MAX 1000001
using namespace std;
void DP(int num);
void DFS(int num);
int graph[MAX];
bool visited[MAX];
int main(void) {
int N;
scanf("%d", &N);
DP(N);
printf("\n");
return 0;
}
void DP(int num) {
int result[MAX];
graph[1] = 1;
graph[2] = 1;
graph[3] = 1;
for(int i = 2; i <= num; i++) {
graph[i] = i - 1;
result[i] = result[i - 1] + 1;
if(i % 3 == 0) {
if(result[i / 3] < result[i]) {
graph[i] = i / 3;
result[i] = result[i / 3] + 1;
}
}
if(i % 2 == 0) {
if(result[i / 2] < result[i]) {
graph[i] = i / 2;
result[i] = result[i / 2] + 1;
}
}
}
printf("%d\n", result[num]);
DFS(num);
}
void DFS(int num) {
visited[num] = true;
printf("%d ", num);
if(num == 1) return;
int next = graph[num];
if(!visited[next])
DFS(next);
}
'μ½λ©ν μ€νΈ μ€λΉ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 15988λ²: 1, 2, 3 λνκΈ° 3 - C++ (0) | 2022.07.08 |
---|---|
[λ°±μ€] 15486λ²: ν΄μ¬ 2 - C++ (0) | 2022.07.07 |
[λ°±μ€] 1003λ²: νΌλ³΄λμΉ ν¨μ - C++ (0) | 2022.07.05 |
[λ°±μ€] 1149λ²: RGB거리 - C++ (0) | 2022.07.04 |
[λ°±μ€] 1024λ²: μμ΄μ ν© - C++ (0) | 2022.02.23 |