본문 바로가기

c++104

[백준/C,C++] 1780번: 종이의 개수 www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net 쿼드트리 문제인데 4(2x2)개로 분할하는게 아닌, 9(3x3)개로 분할하는 문제입니다. #include #include using namespace std; const int MAX = 2187; int n; int paper[MAX][MAX]; int cnt[3]; void dv(int x, int y, int len) { if (len == 0) return; int value[3] = { 0,.. 2021. 3. 19.
[백준/C,C++] 1992번: 쿼드트리 www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net hackids.tistory.com/49 [백준/C,C++] 2630번: 색종이 만들기 www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터.. hackids.tistory.com 2630번: 색종이 만.. 2021. 3. 17.
[백준/C,C++] 2630번: 색종이 만들기 www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 대표적인 분할 정복 문제입니다. 재귀로 간단하게 구현할 수 있습니다. 파라미터로 받아온 배열 범위 안 원소값이 모두 0이라면 흰색, 모두 1이라면 파란색의 개수를 증가 시켜 줍니다. 그 외 색이 섞인 색종이라면 다시 한번 4등분하여 함수를 재귀 호출합니다. #include using namespace std; int paper[128][128]; int n, white, blue; v.. 2021. 3. 17.
[백준/C,C++] 5430번: AC www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 정말 풀기 짜증 났던 문제입니다.. 문제의 요지는 R과 D 함수의 내용에 대해 있는 그대로 코딩을 하면 안 됩니다. 시간 초과 때문에 뒤집은 것처럼 원소에 대해 접근하거나 출력해주면 됩니다. 그리고.. 배열을 입력받을 때, 숫자가 3자리까지 입력될 수 있기 때문에 문자 하나하나를 비교해서 배열로 바로 입력해버리면 안 됩니다. 예제 입력으로는 배열의 원소들이 전부 1자리이기 때문에 이런 반례를 발견하기 쉽지 않습니다. 문제 자체의 구현은 어렵지 않으나, 자잘한 실수를 .. 2021. 3. 16.