풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int size = 1;
static int answer = 0;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader ( new InputStreamReader (System.in));
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str);
int num = Integer.parseInt(st.nextToken()); // 배열 크기
int a = Integer.parseInt(st.nextToken()); // 행
int b =Integer.parseInt(st.nextToken()); // 열
Size(num);
Draw(a, b, size/2);
System.out.println(answer);
}
// 배열 크기 구하기
private static void Size(int num) {
size *= 2;
num--;
if(num > 0) {
Size(num);
}
}
// 배열에 값 넣기
private static void Draw(int a, int b, int size){
if(a < size) {
if(b < size) {
answer += 0;
}else {
b -= size;
answer += (size*size);
}
}else {
a -= size;
if(b < size) {
answer += 2 * (size*size);
}else {
b -= size;
answer += 3 * (size*size);
}
}
if(size != 1) {
Draw(a, b, size/2);
}
}
}
'코딩 문제 > 백준' 카테고리의 다른 글
백준 - 1780번 (0) | 2021.03.15 |
---|---|
백준 - 1769번 (0) | 2021.03.15 |
백준 - 1059번 (0) | 2021.03.15 |
백준 - 1037번 (0) | 2021.03.15 |
백준 - 1018번 (0) | 2021.03.15 |