
소스코드:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br;
static BufferedWriter bw;
public static void main(String[] args) throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int x = Integer.parseInt(st.nextToken());
br.close();
bw.write(solve(x, y, (int) Math.pow(2, N), 0) + "\n");
bw.close();
}
private static int solve(int x, int y, int size, int start) {
if (size == 1) {
return start;
}
int half = size / 2;
int where = (y >= half ? 2 : 0) + (x >= half ? 1 : 0); // 몇 사분면?
int add = where * (int) Math.pow(half, 2);
return solve(x % half, y % half, half, start + add);
}
}
글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.
여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.
'알고리즘 > 백준' 카테고리의 다른 글
| [JAVA-자바] 7576번: 토마토 (0) | 2025.03.25 |
|---|---|
| [JAVA-자바] 1931번: 회의실 배정 (0) | 2025.03.25 |
| [JAVA-자바] 14940번: 쉬운 최단거리 (0) | 2025.03.25 |
| [JAVA-자바] 1697번: 숨바꼭질 (0) | 2025.03.22 |
| [JAVA-자바] 18870번: 좌표 압축 (0) | 2025.03.21 |