입력 코드
#include <stdio.h>
#include <math.h>
int N, r, c;
int ans, s;
main() {
scanf("%d %d %d", &N, &r, &c);
while (N) {
int idx;
s = pow(2, N) / 2;
if (c < s && r < s)
idx = 0;
else if (c >= s && r < s)
idx = 1;
else if (c < s && r >= s)
idx = 2;
else if (c >= s && r >= s)
idx = 3;
c %= s;
r %= s;
ans += pow(s, 2)*idx;
N--;
}
printf("%d\n", ans);
}
코드 설명
#분할정복 #재귀
참고
icanyoucanwecan.tistory.com/16
문제 출처
'C' 카테고리의 다른 글
#95. [백준_C언어] 1780 : 종이의 개수 \ 분할 정복 (0) | 2021.02.23 |
---|---|
#94. [백준_C언어] 1992 : 쿼드트리 \ 분할 정복 (0) | 2021.02.23 |
#92. [백준_C언어] 2447 : 별 찍기 - 10 \ 분할 정복 (0) | 2021.02.22 |
#91. [백준_C언어] 11047 : 동전 0 \ 그리디 알고리즘 (0) | 2021.02.20 |
#90. [백준_C언어] 1931 : 회의실 배정 \ 그리디 알고리즘 (0) | 2021.02.20 |