Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 1074] Z 본문
반응형
2^n * 2^n 의 배열에서 좌상, 우상, 좌하, 우하 순으로 분할하여 접근한다.
재귀를 이용하여 접근한 부분배열의 크기가 2*2 일때까지 접근하여 카운트를 세고
(r, c) 일때의 카운트를 출력해주면 된다.
public class Main {
static int idx = 0;
static int r;
static int c;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int pow = (int)Math.pow(2, n);
r = sc.nextInt();
c = sc.nextInt();
recursive(0, 0, pow);
}
public static void recursive(int s, int e, int len) {
if(len == 2) {
if(s == r && e == c) {
System.out.println(idx);
return;
}
idx++;
if(s == r && e+1 == c) {
System.out.println(idx);
return;
}
idx++;
if(s+1 == r && e == c) {
System.out.println(idx);
return;
}
idx++;
if(s+1 == r && e+1 == c) {
System.out.println(idx);
return;
}
idx++;
return;
}
int m = len/2;
for(int i=0; i<2; i++) {
for(int j=0; j<2; j++) {
recursive(s + m*i, e + m*j, m);
}
}
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 2290] LCD Test (0) | 2019.05.08 |
---|---|
[백준 2447] 별 찍기 - 10 (0) | 2019.05.07 |
[백준 11000] 강의실 배정 (0) | 2019.05.07 |
[백준 1931] 회의실배정 (0) | 2019.05.07 |
[백준 1918] 후위표기식 (0) | 2019.05.03 |
Comments