(C++) 백준 1992.쿼드트리
·
Algorithm
문제 설명압축 가능한 정사각형 형태의 구역을 탐색하는 문제흑백 영상을 압축하여 표현하는 쿼드트리문제 풀이압축 가능한 영역을 가로 세로 길이가 N인 영역부터 탐색을 시작하여 범위를 줄여간다.압축이 가능한지 판별후 불가능하다면 새로운 범위를 탐색 시작하며 '(' 를 추가하고 특정 구역에 대한 탐색이 끝날때마다 ')' 를 추가한다.분할 정복 알고리즘(Divide and conquer)를 이용하여 탐색 영역을 좁혀가며 왼쪽 상단, 오른쪽 상단, 왼쪽 하단, 오른쪽 하단 순으로 탐색한다.코드#include using namespace std;#define FOR(i,N) for(int i=1; i> N; FOR(i,N) { string s; cin >> s; for(int j=0; j
(C++) 백준 1092.배
·
Algorithm
백준 1092번 배(C++)문제 설명:최대로 옮길 수 있는 무게가 제한되어있는 크레인이 주어지고 옮겨야 할 박스의 무게들이 주어진다.각 크레인은 동시에 박스를 하나씩 옮길 수 있고 모든 박스를 옮기는데에 걸리는 시간을 출력해야한다.모든 박스를 옮길 수 없는 경우 -1을 출력한다.문제 풀이:각 크레인은 남겨진 박스들 중에 옮길 수 있는 가장 무거운 박스들을 선택해서 하나씩 선택하고 동시에 옮긴다.크레인과 박스를 벡터에 각각 저장하고 두 벡터를 내림차순 정렬한다.스택(stack)을 이용하여 옮기지 못하는 박스는 다시 우선적으로 옮기도록 한다.모든 박스를 옮길 수 없는 경우가장 힘이 센 크레인이 옮길 수 없는 박스가 존재하는 경우.코드#include #include #include #include using ..