조합 알고리즘

문제 SWEA(SW Expert Academy) 4012번- [모의 SW 역량테스트]요리사 백준 14889번-스타트와 링크 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 풀이 A, B요리 각각 재료를 반씩 나눠가지기 때문에 A요리 재료를 선택한 후 남은 재료를 B요리에 사용 -> 조합 A요리에 선택된 재료의 정보는 isSelected 배열에 해당 인덱스를 true로 바꿔줌으로써 저장 조합 알고리즘에 기저조건을 재료가 N/2개 선택되었을 때로 정함 기저조건 달성 시..
문제 https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 풀이 재료를 조합하여 쓴맛과 신맛의 차이를 가장 적게 만들어야 한다. 따라서 '조합' 알고리즘을 사용하여 문제를 해결한다. 조합 후, 기저조건이 만족하면 해당 조합의 신맛과 쓴맛을 구하고 조합 중 가장 최솟값을 찾는다. 코드 import java.io.*; import java.util.*; public class Main{ static int n; static int[..
문제 https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 풀이 아처 3명의 위치를 0~m-1사이에서 정해야 함 -> 조합-기저조건: cnt==3(아처 3명의 위치가 정해졌을때) enemy의 경우, 변경되면 안되는 정보이므로 tmp_enemy를 local 변수로 만들어 기존 데이터 보호 tmp_enemy가 비어있을 때까지(적이 모두 없어질때까지) while문을 돌아, 적을 죽인 횟수를 구한다. 이때 적과의 거리가 유효값이라면 min값(거리 최솟값)을 바꿔주고 ..
문제 입력 첫째 줄에 N(2 ≤ N ≤ 50)과 M(1 ≤ M ≤ 13)이 주어진다. 둘째 줄부터 N개의 줄에는 도시의 정보가 주어진다. 도시의 정보는 0, 1, 2로 이루어져 있고, 0은 빈 칸, 1은 집, 2는 치킨집을 의미한다. 집의 개수는 2N개를 넘지 않으며, 적어도 1개는 존재한다. 치킨집의 개수는 M보다 크거나 같고, 13보다 작거나 같다. 출력 첫째 줄에 폐업시키지 않을 치킨집을 최대 M개를 골랐을 때, 도시의 치킨 거리의 최솟값을 출력한다. https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 ..
점이
'조합 알고리즘' 태그의 글 목록