CodingTest Exam (110) 썸네일형 리스트형 70. 그래프 최단거리(BFS) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★★☆ #include #include using namespace std; queue q; vector map[21]; int n, val; int ch[21], dis[21]; int main() { int m, a, b, x = 2; scanf("%d %d", &n, &m); for(int i = 1; i 69. 이진트리 넓이우선탐색(BFS) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; queue q; vector map[8]; int main() { int a, b, x = 1; for(int i = 1; i 68. 최소비용(DFS : 가중치 방향그래프 인접리스트) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★★☆ #include #include using namespace std; int n, sum = 0, minNum = 2147000000; vector map[21]; int path[21]; void DFS(int x, int sum) { if(x == n) { if(minNum > sum) minNum = sum; } else { for(int i = 0; i 0 && path[map[x][i].first] == 0) { path[map[x][i].first] = 1; DFS(map[x][i].first, sum + map[x][i].second); path[map[x][i].first] = 0; } } } } int ma.. 67. 최소비용(DFS : 인접행렬) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆ #include #include using namespace std; int n, minNum = 214700000; int val[21][21]; int ch[21]; void DFS(int x, int sum) { if(x == n) { if(sum < minNum) minNum = sum; } else { for(int i = 1; i 0 && ch[i] == 0) { ch[i] = 1; DFS(i, sum + val[x][i]); ch[i] = 0; } } } } int main() { int m, a, b, c; scanf("%d %d", &n, &m); for(int i = 1; i 66. 경로탐색(DFS : 인접리스트 방법 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★★☆ #include #include using namespace std; int n, count = 0; int ch[21]; vector map[21]; void FindRoute(int x) { if(x == n) count++; else { for(int i = 0; i < map[x].size(); i++) { int temp = map[x][i]; if(ch[temp] == 0) { ch[temp] = 1; FindRoute(temp); ch[temp] = 0; } } } } int main() { int m, a, b; scanf("%d %d", &n, &m); for(int i = 1; i 65. 미로탐색(DFS) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆ #include using namespace std; int map[8][8]; int count = 0; void FindRoute(int x, int y) { if(x == 7 && y == 7) { count++; } else { if(map[x][y+1] == 0) { if(y+1 1) { map[x][y] = 1; FindRoute(x, y-1); map[x][y] = 0; } } if(map[x+1][y] == 0) { if(x+1 < 8) { map[x][y] = 1; FindRoute(x+1, y); map[x][y] = 0; .. 64. 경로 탐색(DFS) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★★☆ #include using namespace std; int n, count = 0; int map[21][21]; int ch[21]; void FindRoute(int x) { if(x == n) { count++; } else { for(int i = 1; i 63. 인접행렬(가중치 방향그래프) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int n, m, d1, d2, d3; scanf("%d %d", &n, &m); vector num(n+1, 0); vector ans(n+1, num); for(int i = 1; i 이전 1 ··· 3 4 5 6 7 8 9 ··· 14 다음