백트래킹2 [백준] 1987 알파벳 c++ 지나왔던 길에 있었던 알파벳이 없는 길로 가야한다. 최대로 지날 수 있는 칸 수를 구하면 된다. 풀이 dfs + 백트래킹 지나온 알파벳인지 체크 -> visit #include using namespace std; int graph[27][27]; bool visit[26]; int R, C; int ans; void dfs(int y,int x, int cnt) { int dx[] = { 0,1,0,-1 }; int dy[] = { 1,0,-1,0 }; visit[graph[y][x]] = true; for (int i = 0; i = 0 && nx >= 0)/.. 2023. 4. 16. [백준]15686치킨배달 c++ https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1. 각 집과 치킨집과의 거리를 계산한다. 아래 케이스의 경우 집이 6개 치킨집이 5개이므로 30개의 값을 계산한다. 2. 백트래킹 알고리즘을 통해서 치킨집 개수 중에서 m개를 고른다. 이때 1,2,5번을 고르나 2,1,5번을 고르나 똑같기 때문에 오름차순으로 인덱스를 골라서 arr에 넣어준다. 3. 치킨집을 정했으면 각 집마다 정해진 치킨집과의 최소의 거리를 구하고 그 거리.. 2022. 9. 26. 이전 1 다음