본문 바로가기

728x90

깊이우선탐색

[백준알고리즘] 1890번: 점프 -C++ [백준알고리즘] 1890번: 점프 -C++ 1890번: 점프 (acmicpc.net) 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 누가 봐도 동적 계획법으로 풀어야 할 것 같은 문제다. 그래서 가능한 모든 경우를 찾는데 재귀를 사용했고, DFS를 사용했다. 사실 이전에 Python으로 풀었던 문제였다. 물론 기억은 나질 않았지만.. 아래 링크가 이전에 풀었던 코드다. [백준알고리즘] 1890번: 점프 -Python (tistory.com) [백준알고리즘] 1890번: 점프 -Python [백준알.. 더보기
[백준알고리즘] 14888번: 연산자 끼워넣기 -Python [백준알고리즘] 14888번: 연산자 끼워넣기 -Python https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱셈(×)의 개수, 나눗셈(÷)의 개수이다. www.acmicpc.net 백트래킹 문제이다. 왜지? 그냥 DFS 문제이다. 단계별 풀기에는 분명 백트래킹으로 되어있는데 페이지 밑에 알고리즘 분류에는 또 브포로 나와있다.. 주절주절했듯이 그냥 모든 경우를 찾아야한다. 가지치기(pruning)할 경우를 나눈다고 해.. 더보기

728x90