Segmentation fault 2

[백 트래킹] BOJ 14888 연산자 끼워넣기

www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 해결 알고리즘 1. num(숫자들의 개수), v(숫자들을 입력받는 배열), c(연산자들을 입력받는 배열)에 입력을 받는다. 2. dfs함수를 실행한다. 이때, n과 num이 같으면 최대값과 최소값을 갱신해준다. 같지 않다면, 연산자들을 순서대로 계산한 값과 v에서의 인덱스를 dfs함수에 다시 넣어 실행해준다. 그 전에 c배열에서의 해당 연산자를 하나 ..

[백 트래킹] BOJ 1759 암호 만들기

www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 문제 해결 알고리즘 1. 처음에 a, b를 입력 받고, 배열(v)에 모든 알파벳들을 다 넣고 정렬을 해준다. 2. dfs(n, x, y, pos)함수를 실행한다. int n : 글자 수 int x : 모음 수 int y : 자음 수 int pos : 마지막 글자의 배열(v)에서의 위치 3. dfs 함수에서 n이 a와 같아지고 x가 1 이상 y가 2 이상일 때, 암호를 출력해준다. 만약 n이 a와 다르다면, pos부터..