[백준 2529] 부등호 (C++)
A. 문제설명 https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력� www.acmicpc.net 문제에 대한 자세한 설명은 링크 참조 1. k개의 나열된 부등호가 존재 2. 그 사이에 해당 조건을 만족하는 k+1개의 숫자를 넣고자 한다. 3. k+1의 숫자는 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 4. 여기서, 구해지는 숫자 중 제일 작은 수와 큰 수를 구하라 B. 접근법 DFS DFS와 가지치기를 이용하면 이 문제를 적은 시간 비용으로 풀 수 있다. 일반적..
2020. 8. 25.
[백준 17070] 파이프 옮기기 1 (C++)
A. 문제설명 https://www.acmicpc.net/problem/17070 문제에 대한 자세한 설명은 링크 참조 1. N*N 크기의 땅이 주어짐 2. 위와 같은 파이프를 좌표 (N, N)까지 미는데, 미는 중간에 벽지가 있으면 안됨 3. 또한, 파이프는 밀면서 회전시킬 수 있고, 그 방향은 가로/세로/대각선임 4. 가로는 우측, 우하향만, 세로는 하향, 우하향만, 대각선은 우측, 하향, 우하향 모두 밀 수 있음 5. 파이프를 한쪽 끝에서 반대쪽 끝까지 밀 수 있는 모든 경우 구하기 B. 접근법 DFS 파이프의 방향별 미는 규칙에 따라 해당 밀 위치에 벽지가 있는지 확인하고, 없는 경우에만 깊이 우선탐색을 하도록 함 C. 풀이 1. 좌측 상단 모서리에서부터 탐색 진행 2. 나의 경우, 파이프가 회전..
2020. 7. 28.