본문 바로가기

dfs

(3)
[프로그래머스] 게임 맵 최단거리 / BFS, DFS, Queue 문제 풀이 1. (DFS) #include #include // memset using namespace std; bool visited[100][100]; int dx[4]; int dy[4]; int N, M, min_count = 10000; bool enable = false; vector map; /********************************* dfs로 구현 버전 테스트 케이스는 전부 통과하였으나 효율성을 통과하지 못함 *********************************/ void dfs(int y, int x, int count){ count++; if(y == N-1 && x == M-1){ if(count < min_count) min_count = count; en..
[프로그래머스] 깊이/너비 우선 탐색(DFS/BFS) - 타겟 넘버 문제 풀이 #include #include using namespace std; vector datas; int answer; int tarN; void dfs(int n, int before); int solution(vector numbers, int target) { answer = 0; datas = numbers; tarN = target; dfs(0, 0); return answer; } void dfs(int n, int before){ if(n == datas.size()){ if(before == tarN) answer++; return; } dfs(n+1, before + datas[n]); dfs(n+1, before - datas[n]); return; } dfs를 사용하여 모든 경..
[프로그래머스] 단체사진찍기 / DFS, assign, next_permutation 문제 풀이 #include #include #include #include #include // abs using namespace std; int answer; vector names; vector visited; vector conditions; void dfs(int n, string inputstr); bool check(string str); int solution(int n, vector data) { answer = 0; names = {'A', 'C', 'F', 'J', 'M', 'N', 'R', 'T'}; visited.assign(8,false); // vector 초기화 conditions = data; dfs(0, ""); return answer; } bool check(strin..