6017 : 백트래킹 종합
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
상태 탐색과 백트래킹을 사용하는 다음 4가지 핵심 알고리즘 명령들을 한 번에 처리하는 종합 프로그램을 작성하십시오.
지원 명령어:
1.
2.
3.
4.
[제약 조건]
• 명령 수 $N$: $1 \le N \le 10$ (정수)
• QUEEN: $n \le 10$, SUBSET: $n \le 20$, TSP: $n \le 10$
지원 명령어:
1.
QUEEN n: $n$-Queens 체스판 경우의 수를 출력합니다. ($n \le 10$)2.
SUBSET s n a_1 ... a_n: 원소의 부분집합 중 합이 정확히 $s$가 되는 가짓수를 출력합니다. ($n \le 20$)3.
TSP n w_11 w_12 ... w_nn: $n \times n$ 인접 비용 행렬을 1차원 공백 나열 형태로 받아, 모든 도시 순회 최소 비용을 구하여 출력합니다. ($n \le 10$)4.
WATER a b c ta tb tc: 용량 $a, b, c$ 물병에서 $t_a, t_b, t_c$를 만들기 위한 최소 이동 횟수를 출력합니다.[제약 조건]
• 명령 수 $N$: $1 \le N \le 10$ (정수)
• QUEEN: $n \le 10$, SUBSET: $n \le 20$, TSP: $n \le 10$
입력 설명
첫째 줄에 실행할 명령어의 개수 $N$이 주어집니다. ($1 \le N \le 10$)
둘째 줄부터 $N$개의 줄에 걸쳐 각 줄에 위의 명령어 규격이 하나씩 주어집니다.
둘째 줄부터 $N$개의 줄에 걸쳐 각 줄에 위의 명령어 규격이 하나씩 주어집니다.
출력 설명
각 줄의 명령을 수행한 결과를 순서대로 한 줄에 하나씩 출력합니다.
불가능한 경우(TSP의 갈 수 없는 사이클, WATER의 도달 불가 상태)에는
불가능한 경우(TSP의 갈 수 없는 사이클, WATER의 도달 불가 상태)에는
-1을 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
4
QUEEN 8
SUBSET 5 5 1 2 3 4 5
TSP 4 0 10 15 20 5 0 9 10 6 13 0 12 8 8 9 0
WATER 8 5 3 8 0 0 4 4 0
출력 예시
COPY
복사되었습니다!
복사되었습니다!
92
3
35
7
도움
백트래킹 가지치기, 비트마스크, Meet in the Middle, BFS 상태 탐색 모듈들을 단일 프로그램에 병합합니다. 각 입력 매개변수를 올바르게 슬라이싱하여 파싱해야 합니다.