전체 글(724)
-
[백준/BOJ] 백준 15898번 : 피아의 아틀리에 ~신비한 대회의 연금술사~
www.acmicpc.net/problem/15898 15898번: 피아의 아틀리에 ~신비한 대회의 연금술사~ "피아의 아틀리에 ~신비한 대회의 연금술사~"는 가난한 연금술사 피아의 성장스토리를 담은 게임이다. 이 게임의 가장 중요한 부분은 "대회"인데, 연금술로 높은 품질의 물건을 만들어 상금을 타 www.acmicpc.net 재료 3개를 고르고 그 재료 3개의 순서를 결정해서 문제를 해결했다. 재료와 순서를 결정했을 때 각 재료가 회전했을 때를 고려하고, 다시 돌아올 때는 저장해놓은 원본 보드를 이용했다. 코드 #include #include #include #include using namespace std; int n; pair board[5][5]; pair material[10][4][4]; ..
2021.03.13 -
[백준/BOJ] 백준 3691번 : 컴퓨터 조립
www.acmicpc.net/problem/3691 3691번: 컴퓨터 조립 각 테스트 케이스에 대해서, 상근이의 예산으로 구매할 수 있는 가장 좋은 컴퓨터의 성능을 출력한다. www.acmicpc.net 각 제품마다 번호를 붙이고, 각 제품마다 (-가격,품질) 우선순위 큐를 만든다 (가격이 낮은거 부터, 가격이 동점일 땐 품질인 큰 거 꺼내기 위해) 그리고 컴퓨터를 만들때 사용하는 부품을 저장하는데, (-품질,(부품번호,가격))를 통해 저장한다 (품질이 작은 부품부터 꺼내기 위해) 우선 최소 가격으로 만들 수 있는 컴퓨터를 만든다. 그리고 컴퓨터에 속한 가장 작은 퀄리티의 부품을 하나씩 더 좋은 퀄리티로 바꿔가는 것을 예산을 넘지 않을 때까지 진행한다. 코드 #include #include #inclu..
2021.03.01 -
[백준/BOJ] 백준 1814번 : 지붕 색칠하기
www.acmicpc.net/problem/1814 1814번: 지붕 색칠하기 첫째 줄에, 마을 내의 집들의 수 N이 주어진다. (1number][color]; //ret가 -1이 아니면 계산한적 있는 값이다 if (ret != -1) return ret; //잎노드일때 if (root->children.size() == 0) return (long long)paint[color]; //root노드의 집에 color색을 칠하는 비용 ret = (long long)paint[color]; //자식 노드들을 돌면서 자식노드에 어떠한 색을 칠했을때 자식노드가 루트인 서브트리가 최소비용인 경우를 찾는다 for (int i = 0; i children.size(); i++) { long long m..
2021.03.01 -
[백준/BOJ] 백준 2002번 : 추월
www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 들어갈 때 차의 순위를 map in_t에 저장하고, 나오는 차를 순서대로 저장한 뒤 나올 때 순서가 빠른 차부터 더 늦은 차량들을 확인하며 추월을 했는지 판단한다. 코드 #include #include #include #include #include using namespace std; int n; map in_t; vector out_t; int main() { cin.tie(NULL); io..
2021.03.01 -
[백준/BOJ] 백준 18809번 : Gaaaaaaaaaarden
www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두 www.acmicpc.net 각각의 색깔 배양액을 적절하게 뿌리는 경우를 모두 고려하고, 그때 배양액이 퍼지는 상황을 고려하는데, 배양액이 동시에 도달하는 것을 판단하는 것은 depth를 이용해 판단하였고, 각각 배양액이 퍼지는것을 discovered에 각각의 숫자표시를 해주어서 문제를 해결했다. 코드 #include #include #include #include #include..
2021.03.01 -
[백준/BOJ] 백준 5821번 : 쌀 창고
www.acmicpc.net/problem/5821 5821번: 쌀 창고 첫째 줄에 R, L, B가 주어진다. 둘째 줄부터 R개 줄에는 X[i]가 주어진다. (1 ≤ R ≤ 100,000, 1 ≤ L ≤ 1,000,000,000, 0 ≤ B ≤ 2,000,000,000,000,000) www.acmicpc.net mid개의 논에서 쌀 창고로 옮길 수 있는지 확인하는 이분 탐색을 이용해 문제를 해결했다. 확인하는 함수는 Check(long long check_cnt)를 통해 만들었고, check_cnt개의 논에서 쌀 창고로 옮길 수 있는 구간(check_cnt개의 연속된 논들)을 확인한다. 주의해야 될 점은 구간의 중앙 인덱스(구간의 논들의 위치 중 중앙 논의 위치)가 쌀 창고가 되는 게 최적이라는 점이다..
2021.03.01