본문 바로가기

알고리즘/BOJ

(2)
백준 꽃길 14620 [문제풀이] 2차원 격자판에 씨를 심어서 꽃이 피게한다. 씨앗은 씨앗을 기준으로 상하좌우에 다른 꽃이 존재하지 않을 경우에만 놓을 수 있다. 씨앗을 '3'개 배치 완료 하였을 때 필요한 최소 비용을 구하자. 문제 조건: (1) 화단의 한 변의 길이 N(6≤N≤10) (2) N개씩 화단의 지점당 가격(0≤G≤200) 알고리즘 분석: (1) 백트래킹 (2) 완전 탐색 백트래킹을 활용한 완전 탐색 문제, 2차원 배열에 조건에 맞으면 씨앗을 심어서 꽃을 피워 보고, 꽃이 3개가 되었으면 결과 중에 최소값을 저장한다. 재귀 함수를 통해 놓을 수 있는 곳에 다 배치해보고 최소값을 출력해주면 되는 간단한 문제. #include using namespace std; int N; int A[10][10]; bool us..
백준 18809번 Gaaaaaaaaaarden 문제 링크:https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두고 주어진다. 그 다음 N개의 줄에는 각 줄마다 정원의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0, 1, 2이다. 0은 호수, 1은 배양액을 뿌릴 수 없는 땅, 2는 배양 www.acmicpc.net [문제풀이] 2차원 격자판에 배양액을 놓을 수 있는 칸, 없는 칸, 호수가 주어진다. 배양액을 놓을 수..