728x90
반응형
https://www.acmicpc.net/problem/1074
이 문제는 2차원 배열에 수를 다 채운 다음에 r행 c열에 접근하려고하면 바로 메모리 초과 에러가 난다,,~
배열을 안쓰고 계산하는 알고리즘을 생각해내서 풀어야함..~
import java.util.*;
import java.io.*;
public class Main {
public static int[][] map = {{0,1},{2,3}};
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int r = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int size = (int)Math.pow(2,n);
rec(r,c,size,0);
}
public static void rec(int r, int c, int len, int num){
if(len>2) {
len /= 2;
if (r >= len && c >= len) // 3사분면
rec(r % len, c % len, len, num+len*len*3);
else if (r >= len && c < len) //2사분면
rec(r % len, c, len, num+len*len*2);
else if (r < len && c >= len) //4사분면
rec(r, c % len, len, num+len*len*1);
else // 1사분면
rec(r, c, len, num);
}
else{
System.out.println(map[r][c]+num);
}
}
}
728x90
반응형
'알고리즘 (for 코딩테스트) > 백준_자바 (Java)' 카테고리의 다른 글
[Java 자바] 백준 알고리즘 4880번 : 다음수 (0) | 2022.04.20 |
---|---|
[Java 자바] 백준 알고리즘 23972번 : 악마의 제안 (0) | 2022.04.17 |
[Java 자바] 백준 알고리즘 2754번 : 학점계산 (0) | 2022.03.13 |
[Java 자바] 백준 알고리즘 2355번 : 시그마 (0) | 2022.03.07 |
[Java 자바] 백준 알고리즘 24510번 : 시간복잡도를 배운 도도 (0) | 2022.02.24 |
최근댓글