목록백트래킹 (15)
알고리즘 모음(C++)
문제 링크입니다. https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 삼성 SW 역량테스트 기출 문제입니다. 까다로운 기출문제 였습니다. 문제에서 구현할 것은 물고기의 움직임 + 상어의 움직임 입니다. 물고기가 움직일 때는 조건이 있습니다. 먹힌 물고기가 아니며, 이동한 칸이 상어가 있는 곳이 아닐 경우에만 이동할 수 있습니다. int map[5][5]; // 상어가 위치한 칸은 -1이다. info info_fish[17]; in..
문제 링크입니다. https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 삼성 SW 역량테스트 기출문제입니다. 조합을 사용하면 풀 수 있는 문제였습니다. N개의 수가 입력되었을때, N/2인 팀을 2개 만들어서 두 팀의 능력치 차의 최솟값을 구하는 문제입니다. 6명이 있다고 했을때, 팀이 (1, 2, 3) 과 (4, 5, 6)으로 나누어졌다고 가정하겠습니다. 이때 (1, 2, 3)이나 (3, 2, 1)이나 (2, 1, 3)이나 모두 같은 경우입니다. 마찬가지로 (4, 5, ..
문제 링크입니다. https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 삼성 SW 역량테스트 기출문제입니다. 모든 경우를 확인하면 풀 수 있는 문제였습니다. N값과 나올 수 있는 경우가 적기에 모든 경우를 확인해보면 됩니다. 1. 경우 확인하기 void dfs_calculation(int plus, int minus, int multi, int divide, int cnt, int sum) { ..