Problem Set/완전탐색

Problem Set/완전탐색

[BOJ] 1469. 숌 사이 수열

https://www.acmicpc.net/problem/1469 1469번: 숌 사이 수열 첫째 줄에 X의 크기 N이 주어진다. 둘째 줄에 X에 들어가는 수가 빈칸을 사이에 두고 주어진다. X의 크기는 8보다 작거나 같은 자연수이다. X의 원소는 0보다 크거나 같고 16보다 작거나 같은 정수 www.acmicpc.net 풀이 풀다가 틀려서 다른 코드를 참고했다.. 기존에 접근했던 방법은 만들 수 있는 모든 수열을 만들어 체크하는 것이었는데, 최대 길이가 20인 수열을 순열로 만드는건 20! 이기 때문에 시간초과가 나버렸다. 참고한 방법은 2*N 길이를 완성해가는 과정에서 조건을 만족하지 못하는 경우를 제거해나가는 방법이었다. 입력 수열 X를 오름차순으로 정렬하고, 현재 위치에서 숫자 i를 사용하지 않았..

Problem Set/완전탐색

[BOJ] 2404. 단위 분수로 분할

https://www.acmicpc.net/problem/2404 2404번: 단위 분수로 분할 첫째 줄에 양의 정수 p, q, a, n이 입력된다. (1 ≤ p, q ≤ 800, 1 ≤ a ≤ 12000, 1 ≤ n ≤ 7) www.acmicpc.net 풀이 좀 많이 어려웠다. 시간 제한이나 범위로 봐서는 완탐으로 돌리는게 맞는데 어딜 어떻게 잡고 돌려야 할지 감이 오지 않았다. 이것만 떠올리면 문제에 접근하는데 감이 확 온다. a/b=c/d ac=bd 즉 a/b를 주어진 p/q라고 생각하고, c/d를 만들어진 단위 분수라고 생각했을 때 p*d==q*c를 만족하는 경우를 세면 되는 것이다. 코드 package backtracking; import java.util.*; import java.io.*; ..

주니어 개발자의 아카이브
'Problem Set/완전탐색' 카테고리의 글 목록